Leaderboard
Popular Content
Showing content with the highest reputation on 12/21/2012 in all areas
-
ProcessWire is a content management framework, which is still a "framework", but more focused on a particular thing. Whereas the framework scope of CakePHP, Laraval, CodeIgniter, etc., is more broad and cover more territory. ProcessWire isn't meant as a replacement for one of those frameworks, but I think there are probably many instances where its focus might make it preferable. And an equal number of instances where the opposite is true as well. There's also something to be said for bringing the two together in some instances. Another big area of difference is that traditional frameworks enforce a particular approach to build on top of, whereas ProcessWire aims to be a lot more transparent, like jQuery. Frameworks set you up with a place to put your models, views and controllers, whereas ProcessWire puts in you in a plain PHP file (template file) that is given a location context ($page) and lets you take over from there. We think MVC is a good approach to take with ProcessWire template files, but don't enforce anything, as it's up to the developer. For better or worse, the possibilities are wide open in the same way they are with a PHP file on its own… though with a full CMF API at your disposal.3 points
-
Introducing MetroWire, a little theme I've been working on and using in personal projects for which was once inspired by "metro" styling and to which now I can't think of a better name for. DOWNLOAD http://modules.processwire.com/modules/metro-wire/'>Modules Directory Listing SCREENS!! Login Page Tree Templates Page Customise the colors! (for those of you familiar with less. Change the "@adminAccent" colour variable in "templates-admin/styles/less/vars.less" and compile to customise the main colour to whatever you like!) Hopefully at some point I can integrate the compiling and even give users the ability to choose their colour... fun! Hope you guys enjoy this, thanks for taking a look if you do! I also did a Tweak to the AdminBar to match my theme more closely (hopefully Apeisa doesn't mind), and did some naming changes to solve a conflict I had on a project that used Bootstrap AdminBar-TWEAK.zip2 points
-
Fancy Admin Mode Just had a little funwith fancybox iframes, and created a little module that opens all admin links (topnav links, edit, view, new, copy actions) except "Pages" screen and "Site", "Search" in a FancyBox, so you'll never leave the page tree. It even works with inherit editing child pages. Download: https://github.com/s.../FancyAdminMode Little screencast to se it in action:2 points
-
There is a better way for this. In PW you can connect pages using the Page fieldType. Ryan made a video that explains it in detail http://processwire.com/videos/page-fieldtype/. To have an idea of how to create categories with it, have a look at this thread http://processwire.com/talk/topic/815-using-the-page-fieldtype/.2 points
-
Hi totoff, empty() doesn't tell you anything useful for objects, returning always false even for objects with no properties at all (as of PHP 5.0.0). See http://php.net/manual/en/function.empty.php for more details. $pages->find() always returns a PageArray, which is an object although it behaves very much like a plain PHP array. To see if any items were found, you can use count() method like this: if($featurednews->count() > 0) { // ... } Using a PHP function - count($featurednews) - would work just as well.2 points
-
Ok I just created a new export with latest PW core and now it seems to work better and assets folders get created again. It's now there, let me know if any issues arrive.2 points
-
I drove a DeLorean once - it was like trying to navigate an aerodynamic bucket. And yes, Soma does seem to work on an "I will read your mind first and then I will tell you what you are going to think" sort of principle. He should be writing on the wiki .... (hint)2 points
-
Here's what I'd share: Connect with other creatives. Graphic designers, photographers, marketers, etc. If you feel like you are not at the top of the list of great web designers, that's normal. But imagine how the average print designer feels about their own web design skills. Talk to those people. Many of them already have many clients who could use websites that work. Instead of spending your time cold-contacting people you want to work for, cold-contact people you could work with. (see above) They will see the value you bring into their business. Hire a business consultant, if you can. I hired a retired tech executive. His advice has saved me from making really dumb decisions, and helped me make some really important, yet difficult decisions. I have a notebook full of this stuff. Stay in the game. Don't give up on it and call it a crappy career just because you haven't been able to develop the skills yet. Lawyers are told to take 7 years to get established. Web designers might not even need that much time! But it does take some time. Take care of yourself. You will run into stressful situations. Be sure to do the things that keep you healthy. Get exercise, eat healthy food, spend time with people you care about. Avoid: Late working nights, mind reading (guessing that your clients hate you or think you're too expensive), and meetings with people you aren't interested in working with. Plan your next day every night if you can. Ask yourself what is going to happen tomorrow that will push your 5, 10, 20 year goals ahead. This is a great way to relieve stress and help you sleep better too. Provide value to your clients. Solve their problem. If the solution is a different web designer who's cheaper, tell them that. If the solution is some cheap third-party blogging platform, tell them that. If the solution is exactly what you do, give them estimates for "small, medium, large" and let them decide how much money they want to spend. Don't drop off a solution at the door. Stay with them. Offer to stick around for the first 6 months their new website is live, and handle some of their blogging or other updates. Offer to meet with them and review their analytics. They will need your help. They don't want to fail. Write about what you are doing. Keep a blog somewhere too. Share your thoughts online. Be nice to other web designers. Anyway, about what we do: This is a great way to make a living. Keep at it. Edit: You don't have to work for an agency. You can do this on your own. I've never worked for an agency except as a student, and I thought the agency model had some pretty obvious weaknesses in terms of output. I've had a couple agencies hire me to be their web guy's web guy, which sort of points at the problem. But you can also work alongside agencies (i.e. client pays you both separately), which has brought me great results.2 points
-
Hi all! First of all I want to say thanks for Ryan and all community for ProcessWire. It is really great! I need to realize site with 2 languages support, for example English and Russian. I don't need to translate Admin, it is just for front-end proposes. I want to use multi-language fields and first segment of URL to detect front-end language. I installed 'Languages Support' and 'Languages Support - Fields' modules, than added 'English' and 'Russian' languages on the Setup/Languages pages. So I don't need to 'Default' language anymore, but I can't delete it because there is no such function when I edit Default language page. I also can't rename it. I hope anybody can help me with that problem.1 point
-
IMPORTANT This is now well and truly out of date! I strongly suggest ignoring it. The Bootwire System This is a series of proof-of-concept profiles based on ProcessWire 2.3 (forthcoming) and the Twitter Bootstrap Framework They are currently using Bootstrap 2.3 and JQuery 1.9.1 Bootwire Starter Profile Version 0.5 This version if for those who just want to leap in and get their hands dirty, It includes almost no content at all, very few fields and templates and very little markup. The normal Bootstrap navigation is in place for reference. More details are in the readme. Download Here: http://stonywebsites.co.uk/Bootwire-Starter-Profile.zip Github: https://github.com/jsanglier/Bootwire-Starter-Profile ============================================================ All versions come with a Site Settings page which is a child of a Content Management page in the page directory. This is used for common elements such as site title. The Starter Version has almost nothing in it! Some additional tweaks have been added to TinyMCE and these profiles are pre-loaded with the Modules Manager, the Profile Exporter and the Page Delete module. Please use the Module Manager to ensure all modules are up to date. NEW: Now with some demo functionality in a functions.inc file. Bootwire Demo Profile Built on the starter profile, this version demonstrates some Twitter Bootstrap functionality in the context of a ProcessWire installation. The Demo can be viewed here: http://bootwiredemo.stonywebsites.co.uk/ Download here: http://stonywebsites.co.uk/Bootwire-Demo-Profile.zip Github: https://github.com/jsanglier/bootwire/ Bootwire Admin Theme I have created an admin theme using Bootstrap 2.2.2. It is functioning but should be treated as a work in progress. However, you may like it. It has its own thread here. http://processwire.com/talk/topic/2640-bootwire-admin-proof-of-concept-admin-theme/ ============================================================== Future Profiles Bootwire Blog Profile This is intended to be a basic blog system using the Bootstrap framework. I am planning to start from scratch with the blog, basically because I need the exercise. It will not be as clever as Ryan's system, but it will have the following features (er ... possibly): Category Tree Tag System In-Article gallery Media pages Alternate themes for posts Lots of global settings Manual related posts Automated related posts (okay, probably beyond me) er ,,,, some other great feature that I have not thought of yet.1 point
-
Our next site created with Processwire is online: www.jobcenter-heidenheim.de You could describe it as a department of the agency for employment here in Germany. This site is often visited to find out about the business hours and how to contact your special counterpart. Another important factor for the client was the use of their "Leitbild"- and as you can see, they're used all over the page and the "WIR"(we) is written in the special font. Beside the front page, have a look to "Ansprechpartner" . Every person you can find here is a single page in PW. I've attached a screenshot from the backend.1 point
-
1 point
-
Another factor to consider with the current solution is that it depends on an autoload module (executed on every request). That's a little less efficient than a solution that is specifically called upon when needed, as an Inputfield would be. From that respect, it would probably make sense for this to be InputfieldTextareaCounter. It would also be the simplest and most straightforward to implement and maintain. The drawback would be that you couldn't apply the counter functionality to other types of unknown future textarea derivative inputfields. But if someone is making a new text inputfield, chances are it's like TinyMCE, ACE editor or some other type of thing that wouldn't be compatible with the counter anyway. Ultimately the functionality provided here is pretty darn useful regardless of how it's implemented. But if I were implementing it myself, I'd probably make it an Inputfield rather than an autoload module. As a bonus, this would also guarantee compatibility with non-admin Inputfield forms, like those from FormBuilder, FormTemplateProcessor or API generated Inputfield forms.1 point
-
I have just finished the first draft of a new tutorial on the wiki. http://wiki.processwire.com/index.php/Basic_Website_Tutorial I know it needs tightening a bit and possibly some more screenshots, but my main concern at this stage is whether it works technically; in other words, if someone follows it, will they actually end up with the finished site? The aim of this tutorial is to go further than the Planets small project walk through. It starts post installation by cleaning a few things out, adding a couple of modules and so on. It then creates a site structure from scratch, creates a site settings system (site title, banner, meta keywords and so on) and populates the new site structure with the results. Finally, it creates a new article template with new fields and adds the page. The idea was that I could cover in basic detail: How Template Files relate to Templates Creating various field types (including images) Getting information from the current page and another page (using $page and $pages) Talking about a few other concepts like how information is stored Demonstrating the power of not having a templating system by default And lots of other bits and pieces. This tutorial produces a demo site that is ready to accept other tutorials - slideshow, news system, etc - without having to start from scratch again. The site design does not use a framework, and is simple and clean but familiar - could be the basis for many site types. Anyway, initially I am just looking for comments on the technical side. So, if anyone has time, can they try it and see if they actually end up with a site, or have I forgotten anything? Bearing in mind that I am very new to PW, I could easily have got things wrong somewhere. Once I am happy that it actually works and that I haven't said anything in it that is technically wrong, then I will go through the writing with a fine tooth comb. Thanks in advance to any guinea pigs out there! Joss1 point
-
Detailed tutorial about image and file fields would be awesome!1 point
-
1 point
-
Thanks Alessio! Well, that was easier than I expected ;-) I honestly never thought to look for module settings... oops1 point
-
I think Soma lives several minutes in the future from all of us. I would say the same for Ryan, but I suspect there are just more than one of him.1 point
-
Hey Ryan, Excellent points about security! I've been shouting about this in the Joomla world for a long time. Every time a client tells me that Joomla can do things "faster," I remind them that whatever time is saved up front, you lose most of it in subsequent updates and issues that arise down the line. And this isn't even getting into the fact that most Joomla modules are a "black box" where you can hardly isolate what code is responsible for which actions, which makes it difficult for you to just fix it yourself if needed (actually, it's difficult to pinpoint even where the code resides in your Joomla installation). OK, calming down... Thanks, Matthew1 point
-
Greetings, Thanks Ryan for giving us one more tool to make our sites better. This brings up the constant need to emphasize to clients the need to follow some basic principles with photos! It seems that with every project, I have a tutorial session with the client explaining that photos need to be of the same proportion, NOT cropped in all sorts of ways, and more. I've started putting this together in some standard documentation I share with them. Having options in the API like this can help overcome some issues with photos that are not right for the job. Client education needs to fill the rest of the void! Matthew1 point
-
One thing I can imagine is to have a second image that can be used as watermark with processwire. I think this is a nice addition. Although I don't know how it should be added.1 point
-
1 point
-
1 point
-
1 point
-
If you add an images field to a template say: "basic" template ( the name is up to you. ) Then, a page using that template wil create a folder in: /site/assets/files/id-of-the-page/ and put those images in that folder. So basically images are attached to a page. ( Not that you ever have to know where the images physical are stored ) To use those in tinyMce, you have to click on the image button. If you want to reuse images, say you want images for a header, storing those images in the home template could be a nice option. Then assumed that your images field called images is populated with images and is the home page, you can get those images in every page like: $home = $pages->get('/'); $imagesArray = $home->images;1 point
-
For the record, I have a friend who works at Ellis. They've just fixed the trailing slash issue on the CI documentation.1 point
-
Hi FuturShoc It is not really attaching an image to the page, just upload it using the image field that you have included in your template. Because this is as much of a framework as a CMS, tools like images dont come with templates by default, you have to add the capability. Obviously, it only takes a few seconds, but it also means if you don't want to include images, you don't have to. By the way, you can upload more than one image with the image field and you can also just call that directly into the template. So, if you wanted a Main Image in your article, but don't want the user to mess up how it appears in the text, you can sort out how it is laid out at the template level. If you do that, you may want to remove the image button from the TinyMCE field you have created so they cannot add an image to the text. (Go to the field, edit, input tab and you will see the configuration area) In the template file that you associate with the template you will not need to call the image field since the image address will be part of your TinyMCE output as normal. It is very much like using the Wordpress image system, to be honest. You can even select an image from another page if you wish. Note: there is also a very good thumnails module that allows you to preset loads of thumbnails and so on. It does not associate with TinyMCE so is perfect for images that you are directly calling into your template. You can then add all the JQUery you want to mess around with them on your page1 point
-
I am sure for small page counts ProcessWire can handle faceted searches quite well with some lines of custom code. I think the real advantage of Solr is mainly on high traffic sites with lot of pages. But I think you are right, in the moment the audience for something like this is quite limited. And there are more important features on the roadmap (like page revisions/draft/live version), to get into this enterprise cms area where features like this are needed. If I could get a customer only if PW supports Solr I would be happy to sponsor this feature. Let's see what 2013 has to bring Thanks for looking into this.1 point
-
Nico blogged about a school site he made with Processwire. I had to much time that day and tried Processwire without expecting too much. 2 weeks later and we started to convert all sites to PW. Now I just can't image how we could easily make great websites withouth Processwire.1 point
-
Thanks Ryan! Now I'm able to pass template changes through (by checking redirectUrl) and not mess them up. Next going to see how to handle new pages and then maybe provide possibility to change the behaviour when saving fields/templates as well. We'll see where I'll end up with this.1 point
-
Done most of the bits on the Tutorial, apart from the code issues - added a reply to your comments. Edit: And done the other ones too!1 point
-
Now it actually happened. There are too many unread topics to read them all! This must be biggest leap in forum activity since 1997 when Soma joined. And it's a pretty amazing and great news!1 point
-
@panictree There is an underlying problem with so many of the alternatives and that is the use of the term CMS. As time has moved on and some, like Ryan, but many others too, have looked at web applications as tools that can achieve more than just allowing someone to edit something. Consequently, the term CMS has come into its own - it is not just about a news article, it is about managing and manipulating all kinds of content. However, some systems, and I put Joomla and Wordpress into this category, are basically just AMSs - Article Management Systems - that are bent and broken to make them work in other ways as well. As time moves on, this is going to prove to be more and more of a limitation and if they don't break free of that model, their usefulness, especially for businesses, will dry up.1 point
-
Hi there! I have discovered PW in the middle of my desperate searching for a Plone substitute (our official CMS). In fact i tried all major CMS such as Drupal, Joomla, Wordpress and recently i have put an eye to Concrete5 but... No way, all of those have something that make me feel "uncomfortable": • Drupal: dozen and dozen of plugin for every small thing!, messy admin area ecc. • joomla!: I used it about 5 years ago and it makes a lot of assumption on your HTML.... And i haven't noticed anything regards custom fields in recent versions... • Wordpress: Is born for Blogs, and if you must make something more evolute than a Blog is real pain. • Concrete5: I watched the videos and it seems make a lot of assumption on HTML. Processwire is the real candidate for supersede Plone though there is some functionalities that must be developed and tested very well. Anyway keep up the great work! USSliberty PS: This graph is interesting http://www.google.com/trends/explore#q=drupal%2C%20wordpress%2C%20joomla%2C%20plone&cmpt=q1 point
-
Greetings, Just to warn everyone... I am in touch with a couple of other Joomla power users, urging them to check out PW. Speaking for myself, I believe the main barrier to switching CMSs is the legacy stuff you already developed. It's amazing how you can go for a long while knowing that the system you're using is not right, but you keep using it because... Well, because you have been using it. At some point, though, you just close your eyes and make a leap. For me, I was poised for a switch for about a year, but I had to wait until I had just the right bit of downtime between projects. In this way, ProcessWire has another big advantage: we can honestly say that switching from your current CMS is not painful, because PW is so clean and intuitive. There are other CMSs that are also good -- and you know they are good -- but it takes a bigger up-front time investment to become familiar with their quirks. Of course, all systems have their quirks. There are just fewer of them in ProcessWire. And the payoff is so much greater! Thanks, Matthew1 point
-
1 point
-
I first learned about ProcessWire on this blog post: http://bit.ly/U9VugH. After reading it, I went straight away to ProcessWire.com, downloaded a copy and started to play with it. Can't say I regret it!1 point
-
Hello, Why did I feel a buzzing in my ear this morning? Oh, I see! Let me get this straight: I have to take responaibility for Joss being here? Quick story... I learned about ProcessWire over a year ago, through a ModX forum discussion. I was very impressed that in that arena a lot of people expressed respect for Ryan's achievement. But I did not start using ProcessWire then because I had invested heavily in a Joomla CCK system (long story). But then, just a few weeks ago, I saw a discussion on the Laravel forum where -- again -- a community of people not directly interested in ProcessWire expressed respect for what Ryan was doing. It was the right time for me to take the plunge. It took only a couple of days for me to replicate everything I was doing with the CCK -- and to be able to do a lot that the CCK could not do. So here I am -- fully into ProcessWire. OK, that was not such a quick story. But remember, I am responaible for two people here! Thanks. Matthew1 point
-
As a student on a internship I've got a task to make a website in a CMS called Processwire. Had no idea what it was and so I went to look into the api and videos Ryan provided us with. At first i was confused I couldnt really see what it was maybe because i havent had much experience with other CMS before PW. Anyways it took me a while to find out what pages actually were and what you could do with it, when i found out i was amazed and i really wanted to code more and more in pw. I am also using PW now as my main cms/cmf and i love it more everytime i use it. Thanks Ryan for you great work and especially for your great support1 point
-
Quick and dirty? There you go with a simple module, but maybe not the real and best way as if it could be implemented with a dedicated page custon fieldtype. I thought about having a module that hooks after Page::save and reads two page fields, each is setup to select the template the other lives in. Template: user -> Page field: teams_select Template: team -> Page field: users_select teams_select can select user template page and vise versa. So now you'll need to check on every save those two templates and fields and remap them. This requires to go through all pages and make changes. This is like many to many but with not mapping table. Maybe I don't see anything obvious. But I think if you not go crazy with amount of pages, it should work well. Example code in the Page::save after hook: Removed previous code. Added gist snippet: https://gist.github.com/4335296 Not tested, but it should works. Maybe not the best but you know it.1 point
-
Thanks a lot Ryan, feels like to be knighted by you. Developing goes on, tomorrow comes a new preview. A big hug goes also to totoff for his suggestions and neat remarks during the beta.1 point
-
1 point
-
I have some news about the potential conference in 2013. When I posted about this originally, I didn't know that we had another baby girl on the way, due around May. I am very happy about this, but it would also interfere with my ability to attend a conference. The baby would be too young to travel, and it's too much for me to ask my wife to be alone with a newborn + a 3-year old, while I travel across the world. So I have to put this conference plan on a back-burner while we figure out a better time to do it. Thank you for all of your interest in this conference. I'm really thrilled at all the enthusiasm this conference idea has received, lets plan to reschedule.1 point
-
I'm new to PW and wanted to say thanks for such an awesome, elegant tool. I'm really looking forward to working with it. I hope to be able to help out and contribute some day. Really, though. I'm just blown away. Great job on your own site as well.1 point
-
Hey Hani, I tried your select field module, as I need just a drop down with three options and I don't want to setup a Page field with three pages for a case like this. Setup worked out fine. But the value entered on page edit isn't saved to the fields db table. Any idea why?1 point
-
Some recent additions for 2.3 that are now in the dev branch (I could use help testing if anyone has time): Added "required" support to all fields I've enabled required field support for all fields in ProcessWire (no need for advanced mode either). Now you get a "required" checkbox on the "input" tab of any field in Setup > Fields > [field]. If you are dealing with a published page and save it, you'll get an error if any required fields are blank. The page will still be saved. So it's more of something to annoy you into completing the required field. But if you are dealing with an unpublished page, it won't let you publish it (in the page editor) until you complete all required fields. While seemingly a small thing, the scope is more broad than it sounds as it applies to a lot of different Inputfields. I could use help testing this one out to make sure I haven't missed anything or introduced any new side effects or issues anywhere in ProcessWire. Other additions Fieldsets can now take advantage of column widths, enabling you to have multiple fields in a column. Fixed some bugs that occurred with fieldsets in tabs and fields getting brought into fieldsets they weren't supposed to. Add Interrobang's PHPdoc comments. Add ability to disable PW from throwing an exception when you call an unknown method (for porl's Twig module and other future ones like it). Clean up and optimize the /wire/templates-admin/styles/inputfields.css - it had some redundancy before. Also added a style to call out required fields. Other admin themes may want to do something similar (see the InputfieldStateRequired style in that file). Some other small things in the commit log (Apr 07-Apr 12)1 point
-
Hi Roman Welcome to the forum! There has to be a default language, PW needs it to know what to do in situations where it's not specified what language to use, but you can upload a new language to it and also change the title (just not the name). So, just choose one of the languages you need to be the default, and upload the files inside it. Right now the default should be English. If you are happy with that, upload only the other languages, and leave it as it is. Edit: same time as you Michael. Sorry for the repeated instructions1 point
-
Great explanation Antti! Here's a couple more simple examples. I think that 'type' might be a reserved word (not positive), but I'll change it to 'atype' in the examples just in case. Iterate through the selected values on your $page: foreach($page->atype as $a) { echo "<p>" . $a->title . "</p>"; } The output might look like this: <p>Publisher</p><p>Developer</p> Or, if you made your page reference a single page reference, then it's just: echo "<p>" . $page->atype->title . "</p>"; Antti's second example can also be simplified a bit to this: if($page->atype->has("name=publisher")) { echo "Publisher"; }1 point
-
Pete, this is possible and will show you one of the most powerful features of processwire. Doing this first time feels little strange, but soon you will see how convenient and flexible this is. You can achieve this with "Page" field. First you create page called "Type". This is just a container page and might be something you do not want to be accessible for public (maybe only for superadmins?). Sometimes you want to keep these under some other page, so url would be /tools/type/ or /settings/type/ etc. Under that page you create all your selections as pages. Developer, Publisher and Current Rights Holder would all be pages under "Type" page. It works with any template, but I usually have one "referencepage" template for pages that contain only title field. You might also create template called "type" (you might wanna add more details for type, like small description or icon.. anything). Now that you have your pages somewhere, it is time to create page field. Page field allows you to create one-to-many or many-to-many relationship between your pages. Add new field, and choose "Page" as a type. Then you just choose that "Parent of selectable page(s)" is your /type/ page (or /tools/type/ or wherever you put it). Alternatively you could choose "Template of selectable page(s)" if you have dedicated template for wanted selections. And finally you can select "Input field type" where you find "Checkboxes" or "SelectMultiple". There is also asmSelect which is custom field that pw uses a lot internally. It also allows multiple selections. This might seem like a lot of work or complicated, but once you do this and realize all the superpowers that it brings, you'll never look back PS: If you already knew this all and you were just looking for quicker alternative, then I'll keep my answer as a future reference.1 point