denny / ShinyCMS

ShinyCMS is an open source CMS. This is the Perl version, built with Catalyst and DBIC. (There is also a Ruby on Rails version: www.github.com/denny/ShinyCMS-ruby)
56 stars 24 forks source link

New Page/Blog/Event, Need Automatic URL Generation and Documentation #31

Closed wbraswell closed 9 years ago

wbraswell commented 9 years ago

When creating a new page (or blog, event, etc) there is too much redundancy and non-explanation for normal users. What is the difference between a "Page Name" and a "Page Title"? Even I can barely answer that one. What should the Page URL be set to? What goes in the "Meta Description", if anything? (Not to mention the additionally redundant-seeming "page_heading" element in the page templates.)

There should be some administrator-configurable "simple mode" option to set the defaults on new pages (blogs, events, etc), whereby the user is only asked for the "Page Name". In "simple mode", the "Page Name" is automatically copied into the "Page Title" and "page_heading" template element. Also, in "simple mode" the "Page URL" is automatically generated from the "Page Title" by removing all special characters, replacing spaces with underscores, and making all characters lowercase:

Page Name: Isn't This A Great Page Name?

Automatic Page URL: isnt_this_a_great_page_name

denny commented 9 years ago

If you leave the URL Name/URL Title blank on any new page/post/item, it will autopopulate. Documentation fail, sorry :)

PS: It uses hyphens rather than underscores, for SEO reasons.

denny commented 9 years ago

Page Title is what appears in the title bar of your browser. Page Name is what appears in the back-end menus. They got split because of SEO - people often want to cram some keywords or a slogan into their page titles, but they don't want that showing up all over the back end menus.

denny commented 9 years ago

Meta description is a fairly well known SEO field. You can google for more info about that one. You can leave it blank if you don't care about SEO. :)

wbraswell commented 9 years ago

How can I hide the URL and Meta fields (at least) to create a "simple mode"?

denny commented 9 years ago

Comment then out in the HTML? Edit root/admin/pages/edit_page.tt , root/blog/admin/edit_post.tt , and so on.

wbraswell commented 9 years ago

Okay great, I did it in all the places possible without causing errors: edit_event.tt edit_item.tt (news) edit_item.tt (shop) edit_newsletter.tt edit_page.tt edit_post.tt