getgrav / grav

Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony
https://getgrav.org
MIT License
14.48k stars 1.4k forks source link

Not ridiculous easy.... #2571

Closed nodefive closed 5 years ago

nodefive commented 5 years ago

Nice system, but Faaaaaaaaar from being intuitive and easy. FAR!

Been trying to build a simple page with a hierarchy and concise menus and failed, miserably. While this is a cool project not ready AT ALL for your average user. So, I'll drop it in favor of other option, such as October.

rhukster commented 5 years ago

Thanks for your feedback :)

Heraes-git commented 5 years ago

Hi @nodefive ,

I'm very interested in knowing what deceived you in the short experience of Grav, not because I'm a fanboy, but because I think there might be a truth in what you said, while my experience is more positive than negative.

To my eyes, Grav has been, since the very begining, a relief in term of framework : I'm a little programmer, with not very much experience, I've only developed under Symfony 1.4, and barely knows my first words in development, but Grav instantly seemed clear to me in its structure. The folder tree structure is to me the best example of a clear design, an intelligent work made to be instantly understandable : wether it is the separation with the core and the user folder, or the frontmatter thing, everything is quite clear.

This being said, I've been myself in some great frustration with Grav, mainly due to TWIG and some advanced (or not so advanced) features, and tiny things to connect from a development point of view. There's a hundred of things to ask on the chat before knowing our stuff, and this can complicate the learning curve. The tiniest thing can block the development, and it has often been the case in my use of Grav from a pure development side, because I never used the admin panel to build pages (I work directly on files ; that's because I'm in a template creation phase).

Also, the UI, while its clarity (admin panel) is appreciable, can have some lacks. For instance, the collection creation is let to the developer care, requiring to edit the frontmatter, wich means that Grav is more "development" oriented. I myself corrected that part by understanding and editing the blueprint of the pages' edition, in order to give the customer the hand on that part, with fields to fill the frontmatter and automatize things. Also, templates have to be edited.

Speaking of wich : Grav, as a CMS, is more intended to be "easy" for people who would use a theme. Because themes are worked by developers to build a site easily. But if you try to edit themes, it can add some crazy amount of time, from weeks to months, in order to win over the various bugs and/or errors that can occur. That's why I decided from the begining to develop my own template system. And I'm proud to have one solid set of template now, that will for sure some day be released publicly.

Despite all those good words, there might be something else about your wrong experience : I bet that the UI, wich is a sensible part of any system (and I'm incredibly critic about this !), could be the culprit here. That's why I said that I would be interested in knowing what makes your experience a negative one : if you could bring me some information, and if I / we could see the difference between Grav and let's say October, in screenshots or video, that would be an awesome insight on what to improve. I know that I talk like a part of the Grav team, but I'm not : I'm just very intesrested in improving things too.

It's been two years since I discovered Grav, so any information that can help me to understand what tiny thing to change or improve, is valuable to me even if I can't modify the project for now. Because I help people regularly on the Discord chat, so any information is good to take. Wether it's the position of the buttons, or the order of some fields, or the sequence of actions for posting a thing, anything is welcome to understand the experience.

It is true that things can be messy even with the strongest good intention : and I know that for sure, for having experienced it myself numerous times on computing systems. Although I think that the Grav engin/core is strong and has nothing to do with the bad experience, the UI and/or missing tiniest thing can break the chain and, for a part of the population ("not prepared" to be in the creators head), cause a failure and give the will to give up instantly.

Bests.

nodefive commented 5 years ago

Hi @nodefive , ..... for a part of the population ("not prepared" to be in the creators head), cause a failure and give the will to give up instantly. Bests.

To be honest I can't remember the issues I had. I was trying to find a light, easy, flexible and easily customizable CMS. Tried at least some 8 different CMS. I think people got insane with javascript mania which is the case of most Wordpress sites/themes. They load so much js that the page gets laggy, and devs simply forget not everyone has a OctaCore CPU with 16GB or more of ram. The result? You get pages that in the first 10 seconds of initial loading shows you everything you do not need to see, menus, nice things moving, ads, social junk cross-site (eww) and so on. after 15 secs you get what you went for to see, with a disgusting scrolling lag. Horrible! I've seen people load entire complex js libraries to use one or two functions of it. Makes no sense. Anyway...

In the past I was using mkdocs as a CMS, altho mkdocs rocks and it is stupidly easy, it is intended to build online documentations not blogs and dynamic content pages. In the beginning all was good, the site was small and the upload (of the whole thing after a single update) was easy done using a bash script, one command and it was done. But things got bigger and bigger and more annoying, as for each and every change I had to upload everything again, everything! So I needed to change systems!

October failed my "supah easy quality stamp" as well after some time. :P. Chyrp-lite came close, easy and simple, but missed some basic functionalities, so I had to let it go. In the end I've settle for PageKit. It had exactly the functionality I've needed, it was a cake walk to install it and to use it.

Well, but since you took your time to write the manuscript above (hehe) I'll take my time to reinstall grav locally and give you what you want: a why. I bet the problem will arise again. So, I'll be in touch.

Heraes-git commented 5 years ago

@nodefive, I do 100% agree with your opinion on Javascript crazy use, and pages loading. I also think there is a problem with that technology, and pages displaying things that we don't need first. I'm happy you said it, I don't see people admitting it very often. Mouse scroll lag is also a thing that drives me crazy everyday. People may laugh about this "whining", but it's a real problem ; we just adapt to it, but that's not a reason to hide it. ;)

This being said, here's the reflexion I can give you on Grav and JS/page loading :

About the CMS you used (mkdocs, October, PageKit), I never tested them, but I don't follow you completly on this priority of a "easy to deploy" thing : deploying can mean copying/installing the files, or creating a set of basic pages rapidly. I think we may confuse the two !

So as a clarification, here's my reflexion.

Reflexions for your next tests and feedback

1 - Installing of files (locally or remotely) must be as easy as possible. In this area, Grav is quite good, because it relies only on three CLI commands :

git clone -b master https://github.com/getgrav/grav.git .
composer install --no-dev -o
bin/grav install

I never installed Grav directly on a remote server by unzipping it (nor by CLI), but it shouldn't be more complicated that any other CMS.

2 - For creating the set of files, it depends on the initial choice : if you develop your own theme, the page's creation will imply some work on the templates. If you use a theme, you won't have that implication.

3 - If you have a set of templates ready, creating pages is quite easy in the admin panel.

4 - Additional problems or lacks (collection creation, messy plugin configuration, some code to add in the templates and complicating the edition) can block the "deployment" and freeze the experience.

5 - Additional needs, like a users management and persmissions (necessitating a plugin) can bring some strange behaviors of the UI.

6 - Some template bricks can be missing in a theme, regarding to a plugin installation.

7 - Uploading a local project (even just the /user folder) to a remote server, shouldn't be a Grav issue and can't be imputed to the CMS : it is a FTP one. I personally use FreeFileSync and a set of batches to select or the whole /user folder, or one of its sub-folders (it accelerates the comparison). If no local version is used, and the project is deployed from the remote server and under the admin panel, there should not be any question regarding to uploads.

To me, the "difficulty to visually understand the whole thing" is the more important parameter. I hope the previous points will help you to give us a feedback on the tests you will perform. Please refer to them as far as possible, so the feedback can be the more rationnal and objective possible (don't hesitate to redefine the points if you feel the need to it). ;)

nodefive commented 5 years ago

Hey, that was super crazy fast reply! ;-)

Indeed my complain/whining about js is not intended for grav, but for other cms and themes. The web became a horrible experience, the ad fight is disgusting, the "are you a robot" fight is disgusting, the cross-site scripting is disgusting, the modal mania is horribly disgusting, autoplays, iframes, etc etc... You see, I am from a time when the browser use to be call Mosaic. And just because I can doesn't cut it for me anymore, I want easy these days, as the older I get (I'm 47 now) sharper my learning curve is, I've just lost the taste for most new things to be honest. And "Fast, Simple, Powerful..." got to me.

Grav is indeed super easy to deploy, I did deploy it locally a few times with ease, using git, zip and composer (I've tried all 3 methods... I was trying to understand the thing).

Now by redeploying it I remember what my problem was: the problems arisen when trying to configure it, trying to make it "mine", customized it.

First I got a php exception _pregmatch() when running with php 7.3.1, so I went down to 7.2.14 and it ran again. Ok, now works! Then I've tried to find a nice theme, the concept of skeleton took a minute to sink in, with my "wordpress like head" on my shoulders it made no sense to me to perform a full install of the cms just to grab a theme, it's configurations variables and the sample data. But it did sink in and I guess is good, because it is fail proof. We all know that the sample data trick wordpress has not always works. So I did, I grabbed the /onepage-skeleton. But where is the admin area? So either I go full doc read or I must install it manually. That too took another minute to sink so I went both ways.

I loved the onepage-skeleton design, clean, very "classy". But I do not wanted one page, but several, a hierarchy of them. That took me to the docs, there I was flooded with new nomenclatures, settings, and so on. Then it came to me, this might be easy but doesn't mean it is complex, and it is complex! With a ton of settings one must read AND understand in order to fully manage the cms and make proper use of all its features.

I wanted easy, simple AND not complex. What I wanted is to get the CMS, get a theme, unzip everything, set the db, mod the theme and add pages to it thru a simple admin area. And boom, behold the site.

Grav failed me on that, because in order to archive what I wanted I would have to read and understand all that documentation, which is not difficult, but again, complex and lengthily for a "simple" cms.

You see, the more options that are given to the end user, the more flexible and customizable a software can be, but also requires more understanding of what is under the hood by the user to do it. That's not what I wanted. Give it a try to PageKit (for the sake of personal experience) and you'll understand what I mean. It is pretty "hardcoded", but it is an intelligent hardcoding, most features are right on the sweet spot!

And so it was, I've dropped Grav in favor of PageKit. Now, as a PageKit user I envy Grav's community, code updates and even some features. But in the end of the day, I want to open my browser (no, not Mosaic), log into the admin, add some pages, inject some inline css to make it look good, save it and go on doing other stuff. Grav does not provide that to me, PageKit does.

Heraes-git commented 5 years ago

I'm gonna proceed by a quote (Q) and answer (A) method. I love that and I feel the need for it now.

Q : _"First I got a php exception pregmatch()" when running with php 7.3.1, so I went down to 7.2.14 and it ran again. Ok, now works!" A: Yeah, those PHP errors are annoying. I've encountered several of them. As far as I know, during the last ticket I opened on github, Rhuk said to me that it was due to old versions of Grav upgrading to the latest. I don't know if it correspond to your problem, but I say : TRUE. It's annoying.

Q : "Then I've tried to find a nice theme, [...] it made no sense to me to perform a full install of the cms just to grab a theme, it's configurations variables and the sample data." A: Yeah, it doesn't make sens to me to. I never installed a skeleton, because I don't need it for my use, but I did feel the same when reading a few doc about it. It may require some clarification.. So, TRUE

Q : "So I did, I grabbed the /onepage-skeleton. But where is the admin area? So either I go full doc read or I must install it manually." A : Well, the admin has to be installed in most of installation of Grav : plugins are not installed, even the most necessary ones. But I do not understand why in the context of a skeleton, the needed plugins aren't installed (or maybe I/we are wrong about this). TRUE for now.

Q : "I loved the onepage-skeleton design, clean, very "classy". But I do not wanted one page, but several, a hierarchy of them. That took me to the docs, there I was flooded with new nomenclatures, settings, and so on." A : Ok on the "had to dive again on the doc and took me some time" effect, wich is annoying, but : a "ONE-PAGE" theme means what it means ! You should never have tried to overpass its own purpose. Ok, I admit that myself would have been in the same state than you, and probably would have tried to use it for multiple page addition ; but rationally speaking, I can't validate that issue. So, FALSE.

Q : "Then it came to me, this might be easy but doesn't mean it is complex, and it is complex! With a ton of settings one must read AND understand in order to fully manage the cms and make it proper use of all its features." A : Yeah, same for me. Indeed, when diving into Grav, settings and TWIG things multiply the complexity while the original purpose of both Grav and TWIG is to be simple. I won't enter into the details here. I validate. TRUE !

Q : "I wanted easy, simple AND not complex. What I wanted is to get the CMS, get a theme, unzip everything, set the db, mod the theme and add pages to it thru a simple admin area. And boom, behold the site." A : Same for me. I think it's a legit intention.

Q : "Grav failed me on that, because in order to archive what I wanted I would have to read and understand all that documentation" A : Well, TRUE and FALSE : if you wouldn't have been stuck on that "one-page" theme, you wouldn't have to dive into the documentation. So, FALSE finally.

Q : "You see, the more options that are given to the end user, the more flexible and customizable a software can be, but also requires more understanding of what is under the hood by the user to do it. That's not what I wanted." A : Yeah, but you can't have the cake and eat the cake (I don't know if I correctly used that idiosyncratic expression ^^). I perfectly understand your frustration (and it's mine too), but we can't validate the statement. FALSE. I mean, the only thing we can blame is that the documentation could be unsufficient, and the chat not enough responsive. And that's a bit the case, actually. I have to say that the github time response is quite good, and the doc is quite good, and the chat is half the time giving some answers : but it took me one year to gather the informations I needed. Despite this, I can't validate that a flexible tool with many options had to be "easy-peasy". It is forcefully complex. Only UI efforts can correct that trajectory.

On that particular aspect, I have to say that Grav does an amazing effort to offer a cool admin set of options, all toggleable with switches. But as we say : the devil hides in the details ! So maybe, there could be some things to improve in order to clarify things. I personally transformed the page edtion part to fit to my tastes ; for the global options part, I'm not complaining. But definitely : the pages tree structure and page addition could be improved.

Q : "Give it a try to PageKit (for the sake of personal experience) and you'll understand what I mean." A : I've seen the homepage, and yeah, one thing firstly came to my mind on the animated GIF : "oh, we can move the page in the tree directly by dragging/dropping the items" ^^. So yeah, that's a cool thing lacking in Grav, wich increases the "ease" of use of the UI. I know why you enjoyed it.

Q : "And so it was, I've dropped Grav in favor of PageKit. Now, as a PageKit user I envy Grav's community, code updates and even some features." A : You can always re-try the installation and just correct the mistakes in the plugins/themes library experience. Meaning that when selecting a theme or a skeleton, you have to check that it fulfill your prerequisites (multi-pages, and/or blog, and/or sidebars, etc). Yeah, that's a bit obscure.

Q : "But in the end of the day, I want to open my browser (no, not Mosaic), log into the admin, add some pages, inject some inline css to make it look good, save it and go on doing other stuff. Grav does not provide that to me, PageKit does." A : Grav does provide it, but there's probably some effort to clarify how to do it. I personally see the plugins/themes libraries as a sensible topic on that question.

Heraes-git commented 5 years ago

One thing : the admin panel, once installed, is reachable at the URL "your_site/admin". If it's the first time you connect to it, it will ask you to create the superuser (admin user) account. THAT is probably one of the things that should be communicated in the homepage and download page of the Grav website !

nodefive commented 5 years ago

but : a "ONE-PAGE" theme means what it means It shouldn't. After all that supposed to be a theme, a "dress" to Grav's "body" (with some particular settings configured). I did it so many times with many other CMSs and one page themes.

Experience tells me that one page (free) themes tend to be nicer, better looking, than multi-page. Mainly I think because it is easier to css one page than to css a bunch of them. I usually grab all the ideas/features/shortcodes/etc of the single page and spread them throughout many pages. Usually works. And probably would work for that particular page as well, if I had read the entire docs. Which I did not as if I did I would be outside of the comfort sphere I was hoping, or better saying wishing for.

As for the admin, yeah I know about the /admin, but every time I went to mod something, the theme broke somehow (for lack of my own understanding of the many many configs involved).

I am extremely happy now with PageKit. Does "little" and the little it does makes me happy. :-)

Now, about the cake... lol probably comes from Marie Antoinette and her "Let them eat cake" thing. People were hungry they had no bread to eat (which has always been the main food of the peasant masses) and her advise to the king was "let them eat cake...". In other words it is easier to give them cake rather than solve the bread problem. Cake walk, piece of cake...

Heraes-git commented 5 years ago

Usually works. And probably would work for that particular page as well, if I had read the entire docs.

Well, a one-page theme means that there's no templates for other types of pages possibles. There is a single template, and one or multiple templates for the modular sub-pages (that will be additioned in the master page), but that's all. So if you create more normal page than the original one, there will be no "default" template, or is there is one, it will be rudimentary : meaning that it won't perform any complex information, like a collection, item processing, etc, or even plugin integration.

It shouldn't. After all that supposed to be a theme, a "dress" to Grav's "body" (with some particular settings configured). I did it so many times with many other CMSs and one page themes.

Other CMS may have a different templates architecture. ;)

Anyway, if you're good with PageKit, that's the most important thing. Feel free to contact me/us if one day you want some support on Grav, if you plan to use it for a specific project. I'm very often on the Discord. I'm not a Pro, but for all "beginners questions", I'm enough good. ^^

nodefive commented 5 years ago

Anyway, if you're good with PageKit, that's the most important thing. Feel free to contact me/us if one day you want some support on Grav, if you plan to use it for a specific project. I'm very often on the Discord. I'm not a Pro, but for all "beginners questions", I'm enough good. ^^

Thanks mate! People like you make the internet a bit more pleasant. As it was said before, I as a Pagekit user envy the Grav's community. A++

NoNoNo commented 4 years ago

Extraordinary thread! Thank you all!