Adam Kiss Posted February 19, 2015 Share Posted February 19, 2015 Adam, do you find this a big improvement over just creating static files (html) - I guess the file extensions being removed is the main one... Yes, of course. File extension removal is actually feature I don't really care about. More the features you'd use in ProcessWire, just on smaller scale: - templates, not having to edit 20 files when you change a bit of html structure (especially during initial design/coding stage) - navigation generation - Collections of stuff (so you can write one html and just foreach it) - Having data in a nice structured YAML format, decoupled from HTML I'd go mad if I had to do that stuff in pure HTML. Adam, I was referring to those who don't do small projects. I must have left my writing open for wrong interpretations. Hey, no problem. 1 Link to comment Share on other sites More sharing options...
Macrura Posted February 20, 2015 Share Posted February 20, 2015 I used Get-Simple for some things; it is a nice little CMS, and really fast. You can do quite a bit with it; Image management in PW saves a ton of time, it's like having an extra employee; For some recent 1 page sites, I'm using Cockpit, which is quite handy, and works well; also pretty cool that you can bootstrap it into any page and start outputting managed content in maybe 5 lines of code.. been testing october a bit, and want to try out bolt.. I'm running Grav on a site for fun now; looking forward to trying Pagekit at some point.. 2 Link to comment Share on other sites More sharing options...
onjegolders Posted February 20, 2015 Share Posted February 20, 2015 Yes, of course. File extension removal is actually feature I don't really care about. More the features you'd use in ProcessWire, just on smaller scale: - templates, not having to edit 20 files when you change a bit of html structure (especially during initial design/coding stage) - navigation generation - Collections of stuff (so you can write one html and just foreach it) - Having data in a nice structured YAML format, decoupled from HTML I'd go mad if I had to do that stuff in pure HTML. Hey, no problem. Thanks Adam, how do you handle images? When I tried tools like this in the past I found the threshold above which it made sense to use a "full" tool like PW was actually pretty low. I used Get-Simple for some things; it is a nice little CMS, and really fast. You can do quite a bit with it; Image management in PW saves a ton of time, it's like having an extra employee; For some recent 1 page sites, I'm using Cockpit, which is quite handy, and works well; also pretty cool that you can bootstrap it into any page and start outputting managed content in maybe 5 lines of code.. been testing october a bit, and want to try out bolt.. I'm running Grav on a site for fun now; looking forward to trying Pagekit at some point.. Thanks Macrura, some of these look interesting for static sites. Link to comment Share on other sites More sharing options...
Adam Kiss Posted February 20, 2015 Share Posted February 20, 2015 Thanks Adam, how do you handle images? When I tried tools like this in the past I found the threshold above which it made sense to use a "full" tool like PW was actually pretty low. I don't quite understand what you mean? I just need to show them, right? Link to comment Share on other sites More sharing options...
onjegolders Posted February 20, 2015 Share Posted February 20, 2015 Hi Adam, sorry the question wasn't very clear. I was just wondering how you deal practically with images. I mean on most sites I build there will be different sizes, thumbnails etc. Perhaps multiple images for an area. I guess in a general way, I'm not sure as to the benefits of using these sort of systems once one knows how to use a system like PW. Certain parts of them do appeal to me (the configuration files) but when I download any of these projects and peep through the code, they don't really seem any simpler to me than to using a fully-featured CMS. I totally get the appeal to someone who just wants to load up a theme and then manage their content in Markdown files but once you get beyond that and want to start editing template files and working with more complex structures, isn't that initial simplicity then lost? At which point you might begin to resent the lack of certain features that fuller systems like PW offer. Think these sort of tools go in the "I really want to like them but I don't quite get it" category... Anyway sorry, just my ramblings on the matter 4 Link to comment Share on other sites More sharing options...
Adam Kiss Posted February 20, 2015 Share Posted February 20, 2015 No problem. Ramble away I'll ramble as well.They are not necessarily "simpler". It's not so much about simplicity in the sense of "dump markdown and done". It's about defining everything in the plain text. I can try to give you an example between Kirby and PW:You have two pages on the site: PageA and PageB. Both are just a content with sidebar. Now you need to add three rarely updated news just for PageA, into the sidebar.In ProcessWire: ([A] is admin, [E] is text editor)- [A] create new repeater with the fields- [A] create new template- [A] add repeater to template- [A] change template on PageA- [E] add HTML and data output- [A] input the data to PageA- [E] design it with CSS- AH! You need to add a date- [E] change the HTML- [A] add the date to repeater- [E] fix the CSS- done.In Kirby: all is in [E] - the editor- add YAML structure with news- add HTML- add CSS- AH! add a date!- add YAML data- fix HTML- fix CSSDisclaimer: of course, your process in PW may be different, easier even. For larger sites, more content-heavy (templates are reused tens, hundreds or thousands of times) sites, or sites where the structure is well defined at the time of creation, it makes a lot of sense to go for the more robust solution — be it PW or something else. But then there are projects like I do; You get a site's goal, and you make up things as you go. I create the rough design idea in PS/Sketch, and then go straight to code, to finish the design, code it up, define content structure and add content. For these projects, you go through the example hundred times, because the process is much more fluid. Then add up possible incompatibility with you workflow, having to manage DB sync during changes/uploads, and you get frustrated with the more robust solution very quickly (possibly in the matter of days). Hi Adam, sorry the question wasn't very clear. I was just wondering how you deal practically with images. I mean on most sites I build there will be different sizes, thumbnails etc. Perhaps multiple images for an area. For the projects I usually deal with, images are used either as a part of general design, or in some sort of gallery, which is just image+thumbnail. --- Just to finish the thought: I, both as a person and as a creator, tend to ask 'Why do you want this? Why do it this way?' a lot. This often leads to simplification of the scope and removal of features, because they were requested because "I heard it's good to do X", and not because they are needed for the goal of the site. Your clients, projects and workflow might be wildly different. 3 Link to comment Share on other sites More sharing options...
onjegolders Posted February 20, 2015 Share Posted February 20, 2015 Thanks for a great answer Adam So YAML vs mouse clicks is the big player here for you (plus lack of a DB to keep in sync) Link to comment Share on other sites More sharing options...
SteveB Posted February 20, 2015 Share Posted February 20, 2015 I was just wondering how you deal practically with images. An automagic solution I like to use in cases like that is to have a filename convention which indicates the desired image parameters (PW does this) and have a PHP page setup as 404 handler. If the image doesn't exist the script runs. If the image request is plausible make it, save it, send appropriate headers and the image content, quit. Yes, there's a pause while this happens but once the page exists you're all set. There's a bit more to it. You must protect against floods of requests! Link to comment Share on other sites More sharing options...
Adam Kiss Posted February 20, 2015 Share Posted February 20, 2015 An automagic solution I like to use in cases like that is to have a filename convention which indicates the desired image parameters (PW does this) and have a PHP page setup as 404 handler. If the image doesn't exist the script runs. If the image request is plausible make it, save it, send appropriate headers and the image content, quit. Yes, there's a pause while this happens but once the page exists you're all set. There's a bit more to it. You must protect against floods of requests! OH MY GOD. WHY? Well, with drama out of the way, if it's somehow obvious in the code, maybe… I once inherited an application to fix — I spent two days looking for where the hell application does routing, because it was borked. And then I found 4k lines long 404 handler named "error_fix.php", which dealt with bunch of things, routing (nice urls) included. Please don't do this. Link to comment Share on other sites More sharing options...
onjegolders Posted February 21, 2015 Share Posted February 21, 2015 Steve, thanks for the answer but I think if I started having to run anything like that it would take away from the initial positive which would be the simplicity and feel-good factor of using these systems - much better, for me at least to run PW than have to deal with complicated PHP scripts. --- I have a project that I am going to try and run a static or semi-static CMS on to see how it works out but I guess I have two main fears: 1) I'm going to end up needing some more advanced functionality further down the line 2) The client is actually for once, actually really, no seriously, going to actually want to login and update the content themselves. If either of those happen then I guess I'll have to recode it in PW and rue the fact that I didn't just start out there in the first place. Maybe these fears never come to fruition though. Link to comment Share on other sites More sharing options...
pideluxe Posted February 21, 2015 Share Posted February 21, 2015 One thing I do like about CMS like Kirby and Bolt are the configuration files in YAML. As I haven't really used these before extensively I couldn't say if they reach a natural sort of breaking point where things get difficult but there are times with PW when I would prefer to do more work in the text editor than clickety-click. (Never thought I'd say that ) There is the module JSON Installer by Peter Beulque, which lets you add templates, fields and pages via JSON files. This may be very helpful for fast creation or reusing typical scenarios. 2 Link to comment Share on other sites More sharing options...
onjegolders Posted February 21, 2015 Share Posted February 21, 2015 Thanks Pidelux, I will take a look at that on my next project. Regarding the static project, I think I've narrowed it down to using Middleman, Statamic or Grav. Statamic (or Kirby) looks useful in as much as it would have a very simplistic admin area if ever a client did want to get involved but they are both private, paid products unlike Middleman or Grav which are fully open source. At a push between Middleman and Grav I think I may go with Middleman as it seems to have a fair weight behind the people using it and it borrows quite heavily from Rails which I am comfortable with to a reasonable extent. 1 Link to comment Share on other sites More sharing options...
onjegolders Posted February 23, 2015 Share Posted February 23, 2015 Slight update (sorry if this is a monologue!) I was quite comfortable building out the static site in Middleman, although I did find the documentation extremely disappointing, for a seemingly well-backed product there isn't a great deal of meat beneath the gravy docs-wise. I started to consider looking at one of the paid products (Kirby / Statamic), they both seemed to be very solid, had good documentation and had the bonus of being a "full" CMS despite being NoDB. In the end I decided to go with Statamic for a few reasons. I was extremely impressed with their docs. The simple admin area is very nicely put together and pretty intuitive. So far I pretty much have the project coded up and have come across some really nice features (some that PW may learn from - as per the original post by Diogo ) Others aren't really relevant as Statamic and PW do cater to different sorts of sites. I doubt it will be used for more complicated database-driven sites, that said, what I do like about it: 1. Configuration through YAML - Have to say this is proving to be a real hit for me. Set global variables, decide which fields to show for any given template in the admin 2. Being able to add content through files - I personally haven't made a great deal of use of this yet as I still prefer adding content through an interface at this stage. Despite this I can see the appeal, especially to people who use MarkDown a lot. 3. NoDB, easier site synchronizing/backups - OK so this is an obvious one but clearly having no database is an advantage when it comes to Zipping a site up or keeping two copies in sync. 4. Templating syntax - This is controversial, not least to myself. I wholeheartedly agree with Ryan's appraisal on using PHP syntax in PW. That said, there's no arguing that when we're using a simpler system for a simpler site, there's something pleasant about being able to leave out some of the less glamorous parts of writing PHP ( ; {} [] ). My preference for tenplating engines over pure PHP completely depends on the aesthetics of the engine syntax. In Statamic's case it is elegant so a plus point for me {{ title }} 5. Variable modifiers - Sort of an extension of 4 really but again when we're keeping things simple it is nice to be able to call on some nice simple helpers that enabe us to write less code. http://statamic.com/learn/templating/variable-modifiers --- Clearly there are things here that are good because it makes a nice change from coding in a more complex site development process (as I often do with PW), maybe of things that PW could one day use, perhaps some way of writing more code in the editor than clicks in the admin, although that must be limited by the database interactions that must be necessary. I still don't think there is a system out there that can touch PW when it comes to a tool that can accomplish almost anything in an organised, lean and powerful way. 9 Link to comment Share on other sites More sharing options...
yellowled Posted February 24, 2015 Share Posted February 24, 2015 Late to the party (as always), but anyway: if you're thinking about static site generators, I have always found that they are limiting in one way or another. A lot of them are “blog-aware”, which translates to “anything that is similar to a blog will be built quickly, everything else will take hours and be painful”. Just my experience with them. A nice alternative is assemble, because it does (much like PW) give you a lot of freedom to work the way you like to work. It's basically a Grunt plugin which generates static HTML from Handlebars templates. It's kind of clumsy to do certain things (like i.e. building navigations dynamically) and they're apparently in the middle of rewriting the whole damn thing (for quite some time now), but if all you need is a small template system to be able to use variables, partials/includes and layouts in HTML, it's worth a shot. 2 Link to comment Share on other sites More sharing options...
onjegolders Posted February 25, 2015 Share Posted February 25, 2015 Hi Yellowled, I think that's certainly true of some of them like Jekyll. Other like Assemble or Middleman you can build any sort of content you choose like you said. Then there are the NoDB CMS (like Statamic, Kirby) which make as few assumptions about your content as PW (though with some NoDB drawbacks clearly). Link to comment Share on other sites More sharing options...
tpr Posted March 15, 2015 Share Posted March 15, 2015 Recently tried Monstra and I will use it for simpler sites. Link to comment Share on other sites More sharing options...
qtguru Posted March 15, 2015 Share Posted March 15, 2015 if i could see a killer CMS with Yii Framework it would be awesome 1 Link to comment Share on other sites More sharing options...
bcartier Posted March 15, 2015 Share Posted March 15, 2015 Sephiroth: Craft CMS is built on Yii, and it's pretty amazing. 1 Link to comment Share on other sites More sharing options...
qtguru Posted March 15, 2015 Share Posted March 15, 2015 Yeah its not really open source i know there's a free version I know of another Ciims but still WIP, i like PW but doing somethings here are a bit different for me, like Changing layouts when a user is logged in tried using Hook but apparently there's no way to dynamically change the config before a page is rendered. Link to comment Share on other sites More sharing options...
Nico Knoll Posted March 22, 2015 Share Posted March 22, 2015 @sephiroth: Create three files: page.php, page_logout.php, page_login.php And write something like the following in the page.php: <?php if($user->loggedin()) include 'page_login.php'; else include 'page_logout.php'; ?> What's the problem here? 1 Link to comment Share on other sites More sharing options...
MatthewSchenker Posted March 22, 2015 Share Posted March 22, 2015 Greetings, Nico's answer has better separation, but I do this sort of thing all the time right in the template. It's almost silly how easy it is in ProcessWire. For example, to check if the person is a "Super Admin": <?php if ($user->isSuperuser()) { ?> <!-- Add Super Admin Layout Here --> <?php } else { ?> <!-- Add Non-Super-Admin Layout Here --> <?php } ?> And here's how to do it for multiple admin roles: <?php if ($user->isSuperuser() OR $user->hasRole("editor") OR $user->hasRole("manager")) { ?> <!-- Add Admin Layout Here --> <?php } else { ?> <!-- Add Non-Admin Layout Here --> <?php } ?> No limits, anything you want from there! Thanks, Matthew Link to comment Share on other sites More sharing options...
GuruMeditation Posted March 22, 2015 Share Posted March 22, 2015 if i could see a killer CMS with Yii Framework it would be awesome There's http://easyiicms.com/ Not exactly a killer CMS, but you might want to have a look anyway. Yupe is another one, but you'll need to understand Russian to make use of that https://github.com/yupe/yupe/tree/dev Link to comment Share on other sites More sharing options...
qtguru Posted March 22, 2015 Share Posted March 22, 2015 @Nico I didn't use the User from Processwire as I don't want user having knowledge of the backend the users are stored in a page which contains their details and information but i have implemented it in a way which makes better sense to me in terms of flexibility its on my topic "How to do this feat in processwire" @GuruMeditation I got my eyes on EasyiiCMs and its even on Yii2 I will clone and contirbute to it once i upgrade my Yii knowledge Link to comment Share on other sites More sharing options...
teppo Posted March 23, 2015 Share Posted March 23, 2015 @Nico I didn't use the User from Processwire as I don't want user having knowledge of the backend the users are stored in a page which contains their details and information but i have implemented it in a way which makes better sense to me in terms of flexibility its on my topic "How to do this feat in processwire" Not saying that it's the only way to go, but I've also built a few sites where authenticated users never get to see the Admin backend, yet so far I've never considered rolling my own system for managing those users. You can simply redirect users away from Admin based on, say, roles -- or whatever other criteria you might have -- so that they never actually reach it. Works fine, and means that you can let ProcessWire handle all the troublesome authentication / permission checking parts 2 Link to comment Share on other sites More sharing options...
tpr Posted August 19, 2018 Share Posted August 19, 2018 I've rebuilt my portfolio site with Eleventy static site generator and it was a joy to work with. It's node js based and you can use markdown or a bunch of template engines. I went with nunjucks which has very similar syntax to twig or latte and supports template inheritance, layouts, filters, etc too. As it's based on node you can use all the available npm packages, eg for filters. Data can be set at global, directory or template levels (json, js or md formats), which is very handy. Pagination, urls and collections are very versatile, you can tweak it to your likings. It has a built in --serve switch that starts a server and watches for changes which makes checking changes is convenient. And its very fast, takes for my 30 page site about 3-5 seconds to rebuild. It took some time for me to get some features to work, sometimes I ended up filing a ticket at GitHub. That said it's not perfect but the development is active so bugs are probably be fixed soon. This was my first project in it but if I look back many of my projects could use it (or other SSG), where there's no need for admin and forms. This site was in WordPress and I planned to replace it PW, but Eleventy was a greater challenge to try. Now the whole site is under 4 Mb, previously it was 109 + the DB. Of course size does not matter much but I like to keep things at the bare minimal. It has high pagespeed values which I could tweak to get 100/100 (gtmetrix 100/95, with the only issue of not having a cdn), but reverted those tweaks for a simpler development flow. http://rolandtoth.hu/portfolio/ https://www.11ty.io 5 Link to comment Share on other sites More sharing options...
Recommended Posts