Forum for discussing general topics related to Couch.
34 posts Page 3 of 4
@cheesypoof
If you spot any component they handle nicely, that we could utilize, do point it out.

The point I did try to make isn't a specific part of polymer but the idea. Just like Couch tags, snippets or even the possibility to create your own tag, Polymer has the same options in their so called elements. It's for you almost impossible to predict what in the end someone would like to have in the admin pages and how this is arranged. So if it would be possible to drop in your own code snippet (element) in the sidebar or template view without touching the core code and extensive JS knowledge I believe this would be exactly fitting the couchcms way of doing things.
As far as I understand it Polymer isn't a framework like Angular but more a extendable toolkit .
I load frameworks and write bugs on top of them, after that I rearrange the code so that it looks like a cool product.
cheesypoof wrote: @potato, you could create a type 'message' editable region containing an iframe pointing to your website.

Sidebar group toggling mocked up:



I am a big fan of that mockup, Cheesy.

I can see how easy it will be to sort templates into sub-sections and make it easier for clients to manage their sites via the admin panel. :) Looks very clean, thanks for the preview!
Image
I'm a big fan of hacking the admin panel with the "message" type of editable region. It's my favorite hidden feature of Couch. I'm not sure that it was initially intended for that purpose and KK has seemed a little coy about recommending it, but you can slip a lot of customization into the admin panel with that tag.

I've been wondering if some of what @Bartonsweb has been asking for could be achieved with creative uses of the message type. You can put anything in there: html, javascript, css, even Couch tags (and that means php, too)! Wait a second, my mind's about to blow!

OK. So just for fun, try slipping this into a template somewhere to get a sense of the possibilities.
Code: Select all
<cms:editable name='admin_hacks' type='message'>
   <!-- CSS -->
    <style>.k_element{background-color:aquamarine;}</style>
       
   <!-- JS -->
    <script>document.write("<p>Hi there! I'm JavaScript.</p>");</script>
   
   <!-- PHP -->
    <cms:php>echo '<p>Hello from PHP!</p>';</cms:php>
       
   <!-- Couch Admin Links -->
   <!-- These templates can be hidden - not shown in the sidebar - but the links will still work -->
    <cms:pages masterpage='index.php'>
       <p><a href="<cms:admin_link />">Edit Home Page</a></p>
   </cms:pages>
   <!-- Link to clonable template -->
    <cms:pages masterpage='blog.php' limit='1'>
       <p><a href="<cms:show k_admin_link /><cms:show k_admin_page/>?act=list&tpl=<cms:show k_template_id/>">Edit Blog List</a></p>
    </cms:pages>
   
   <!-- More Couch Tags -->
   <cms:dump_all/>

</cms:editable>


Cool. A Couch tag to inject just about anything into the admin panel. So, imagine a template with only a message type tag used to create the sort of admin landing page that @Bartonsweb is talking about. Use the "hidden" parameter to declutter the sidebar, and a landing page (or multiple landing pages) with fully customized navigation. Throw in an iframe with news, information, and billing for clients if you like. It's a very powerful feature. This type of navigation page could also be used as a gateway into a complex clonable template with several sub-templates.

On-page editing is another way to get away from an over-burdened admin panel. Or you can use data-bound forms to create a customized admin panel from scratch. All of these possibilities even without the new flexible admin theme that we're all anxiously awaiting.

That's what I like about Couch. It encourages and rewards the creative use of its powerful and flexible framework.
@Tim

I fully agree with you couch is very powerful and it really does reward creativity, you can do a lot with the admin panel especially using the message type editable, but moving forward the admin panel does need to change because natively its not very friendly and for the couch users who create new sites constantly, having to also create a better admin panel for a basic website that has a lot of templates is time consuming, but possible.

The message editable allows us to do all sorts of things, like you said. The landing page idea is one of the lesser important things from this post, because it can easily be achieved (very easily, I might add) but the general layout and navigation of the panel and the way templates are managed and grouped is what really needs improvement.

While we can alter the view of the panel through the tag with JS and css overrides, its still a "hacky" solution, and requires manual editing and messing with with each change, sometimes that just isn't worth the hassle when you handle multiple couch managed sites. There's workarounds to most of the current issues if you're creative enough, but we're hoping to get some of the "workarounds" to have more permanent solutions natively, which improves couch for the average user and also makes it slightly easier on developers, when they don't have to worry so much about the admin back-end but rather can focus fully on the front-end. :)

On-page editing is actually very useful, but it has its fallbacks. For example, as far as I'm aware and have tested - it's not possible to use on-page editing for gallery pages (whether inline OR pop-up editing). Again, we can probably create solutions for this via DBF but we couch will be improved overall if we fix some of these things in the default panel.

Lets make an example, because it will probably illustrate easier than my words can today lol

We have the awesome dynamic sitemap template that KK created a while back, this template lets us worry less about our sitemap files, we can have them updated automatically when a client adds a new cloned-page for their blog post etc. However, this template is a work-around only. I say this because there's much you cannot do with it, but also there's much that needs to be manually done with it on a per-site basis. For example - all list-view URLs must be manually added to the template on each site, because it cannot output different views (as far as I've been able to configure it). Also, if we wish to hide specific templates or pages, we must create large if statements manually defining each template to be excluded.

So while we can currently achieve all of this within the template with some manual editing and a little time, its more complex than it could be (and after all, couch is aimed at being simple) which it is, though experienced developers who can write php etc have a much better time I'm sure. Ultimately like all products similar to this, addons and "hacky" ways of doing things that improve usability of the product and make it 'better' are often worked into the product as full solutions (often with developer twists and differences, but you get what I mean)

so I guess I do agree we can do most things within the confines of couch, and the message editable is indeed a strong hidden feature that allows us to do a lot of this, the point of the post is more of a look at what the next version of couch should have feature-wise that we currently have to go without or create more complex and advanced solutions to achieve, which doesn't suit the average developer that couch's audience targets.
Image
@Bartonsweb
For example - all list-view URLs must be manually added to the template on each site, because it cannot output different views (as far as I've been able to configure it).

Try this to programmatically show list-view pages in your sitemaps.
Code: Select all
      <cms:pages masterpage=k_template_name>
<!-- here's the new part -->
         <cms:if k_template_is_clonable && k_count='1'>
              <url>
               <loc><cms:show k_template_link /></loc>
               <lastmod><cms:date "<cms:if k_page_modification_date='0000-00-00 00:00:00'><cms:show k_page_date /><cms:else /><cms:show k_page_modification_date /></cms:if>" format='Y-m-d\TH:i:s+00:00' gmt='1' /></lastmod>
               <changefreq>daily</changefreq>
             </url>
          </cms:if>
<!--  end of new part -->
         <url>
           <loc><cms:show k_page_link /></loc>
           <lastmod><cms:date "<cms:if k_page_modification_date='0000-00-00 00:00:00'><cms:show k_page_date /><cms:else /><cms:show k_page_modification_date /></cms:if>" format='Y-m-d\TH:i:s+00:00' gmt='1' /></lastmod>
           <changefreq>daily</changefreq>
         </url>
      </cms:pages>


And sure, I get it. I had no intention of squelching or redirecting the discussion of improving the admin panel. I just saw an opportunity to draw attention to a great admin panel feature. Also, you specifically asked for a solution to the issue of complex clonable templates with multiple sub-templates, and I think I offered a workable solution to that situation.

But since you bring it up, I'll stand as a champion for hacks and workarounds. I for one don't want Couch to hold my hand and pre-package every solution. It's the ability to create custom solutions (aka hacks and workarounds) that I find most compelling. And it's not like you have to start from scratch on every site. As a developer you create patterns and reuse them.

Nonetheless, I appreciate the purpose of this discussion and I'm sure KK will take the opportunity to glean the best ideas that bubble up and make good use of them.
@Tim I am mulling over the planning of an upcoming bigger site with lots of navigation links (12 main links - most of which have 2-6 sub links). I've been trying to rationalise the template types but there are all sorts of different requirements popping up in the different areas - so hard to create a generic template. I don't know whether to go for nested pages (probably not) and I fear an unwieldy and overlong list of links in the admin panel. There will also be a range of non navigation templates for utility features (globals, social icons, backup, privacy, cookies, PDF uploads etc) - so it could be a looooong list in that side panel - too long.

Could you expand a bit on what you see as
a solution to the issue of complex clonable templates with multiple sub-templates, and I think I offered a workable solution to that situation.

I'm not seeing an obvious way forward at the moment. Thanks :)
@Tim

I thought I sounded kind've rash when I posted, but I didn't mean to be aggressive - I totally agree as a developer it's interesting and fun to come up with workarounds and interesting ways to achieve things that couch doesn't natively support. Thanks for the sitemap snippet, I'll take a look at it soon.

I think couch has lots of open doors for possibilities in coming up with new concepts, sometimes you can re-use solutions across sites but it really does depend on the needs of the site, often times they're totally different and as such have totally different setups.

Though, that being said - I've also had great interest in creating new ways to achieve something not possible via native couch features. Usually you can use combinations of couch features such as the message editable to alter the admin panel output (whether to create customised views, or to streamline the existing one), but I think that couch is never going to really get away from that, and I wouldn't want it to. There's always going to be heaps of room for that customization and new ways to come up with solutions to problems but of course those solutions will sometimes be fixed natively in new versions and supported by couch itself, while you and I may feel more than comfortable editing files, messing with the css/php/js that the admin panel outputs etc - a lot of couch developers are not quite confident in that, or in writing/reading PHP code (as you can see browsing the forums) and so it's good for the CMS to continue to move forward making things easier for that target group, there'll always still be things for us to customize and if the new admin panel is anything like KK and Cheesy have spoken of, it's going to be entirely customization and a lot of fun to play with, more so for confident developers such as yourself :)

Again, sorry if I came off as aggressive.
Image
@Bartonsweb no offense taken. Improving defaults and ease of entry is a GOOD THING, and there's nothing wrong with a lively debate.

@potato
Yeah, well it was more of an idea for a solution than an actual solution. And I can see how it wouldn't be obvious from my goofy little example.

In summary the idea is this. Create a non-executable template that serves as a top-level navigation page in the admin panel for a group of related templates. Add hidden='1' to the other templates to clear them from the sidebar. The user accesses the related templates through links in the navigation template, coded up using a message type editable region.

I've never actually done anything like it before. The idea only occurred to me when I discovered that you can put Couch tags into a message. So I don't have any actual working code in the field. But here's a simple example where you have a blog with two other templates for holding related data.

blog.php - a clonable template for blog entries
blog_seo.php - holds global seo data
blog_globals.php - a picture and text for the list-view page
blog_nav.php - the navigation template

blog_nav.php could look something like this. Add hidden='1' to the other templates to tidy up the sidebar. Now you have one sidebar link instead of three, and all of the blog stuff is grouped together in the same place.

Code: Select all
<?php require_once( 'couch/cms.php' ); ?>
<cms:template title='Blog' executable='0' >

    <!-- Navigation for Blog Related Templates -->
    <cms:editable name='navigation' type='message'>
      <!-- link to blog entries -->
       <cms:pages masterpage='blog.php' limit='1'>
          <p><a href="<cms:show k_admin_link /><cms:show k_admin_page/>?act=list&tpl=<cms:show k_template_id/>">Edit Blog Pages</a></p>
       </cms:pages>
        <!-- Link to SEO Data -->
       <cms:pages masterpage='blog_seo.php'>
          <p><a href="<cms:admin_link />">Edit SEO Data</a></p>
      </cms:pages>
        <!-- Link to Global Data -->
       <cms:pages masterpage='blog_globals.php'>
          <p><a href="<cms:admin_link />">Edit Blog Front Page</a></p>
      </cms:pages>
    </cms:editable>
   
</cms:template>
<?php COUCH::invoke(); ?>

This is just a bare bones proof of concept. The details would depend on your specific situation. There are a lot more possibilities available and different ways to use this concept to carve a larger site into more manageable chunks in the admin panel. Let me know if you'd like help trying to sort out the details for your project.

Does this give a clearer idea of the proposed solution? Do you think it might work for you?
When the eagerly awaited ;) next version of Couch is released I wonder if it will be along with a revamp of the website? My feeling is that Couch needs to show off a bit - shout from the rooftops in fact - tell the world what a great CMS it is. I recently had a look round the Perch site - they have done a good job on marketing and presentation (even if the cute birds aren't to your taste).

I took the Perch demo on offer and from my brief play around it appears that Couch is more powerful and flexible - it could and should be a big player in the small CMS market. The Perch admin panel is modern looking and what clients will be expecting to see these days, but it did appear to impose a structure and terminology that didn't seem entirely user-friendly. If a client can get confused - they will get confused. That isn't to say clients are daft - just that it isn't their job to wrestle with jargon and structure that isn't intuitive. Once the new Couch admin panel is available - I think Couch should take off in a big way. It will compare very favourably or outclass the competition in many different aspects.

Could I make some suggestions ...

1. a demo on the Couch site - so that interested web designers can see first hand what Couch offers - or at least a taster - without having to download and try out. This may trigger more downloads and more take up of Couch.

2. a short video introduction (from @KK?)

3. the Couch forum is OK, but should be responsive - I learn a lot from looking at it and it is often from my phone - which is awkward.

4. I've mentioned this previously ... a really well organised, searchable repository for plugins and addons - standard layout (description of functionality, how to install, dates, upgrades etc) maybe feedback and ratings. At the moment this is rather lost in the 'Tips and tricks' section. Again I think this would add kerb appeal for web designers assessing different CMSs. Maybe it could be monetized - so that there is an incentive for developers to come up with high quality addons that cost a small amount for others to download.

I know that these features will take time and effort - but maybe some of it could be shared amongst the Couch community - we all have a vested interest in making Couch as good as possible, as soon as possible. :)
potato wrote: When the eagerly awaited ;) next version of Couch is released I wonder if it will be along with a revamp of the website? My feeling is that Couch needs to show off a bit - shout from the rooftops in fact - tell the world what a great CMS it is. I recently had a look round the Perch site - they have done a good job on marketing and presentation (even if the cute birds aren't to your taste).

I took the Perch demo on offer and from my brief play around it appears that Couch is more powerful and flexible - it could and should be a big player in the small CMS market. The Perch admin panel is modern looking and what clients will be expecting to see these days, but it did appear to impose a structure and terminology that didn't seem entirely user-friendly. If a client can get confused - they will get confused. That isn't to say clients are daft - just that it isn't their job to wrestle with jargon and structure that isn't intuitive. Once the new Couch admin panel is available - I think Couch should take off in a big way. It will compare very favourably or outclass the competition in many different aspects.

Could I make some suggestions ...

1. a demo on the Couch site - so that interested web designers can see first hand what Couch offers - or at least a taster - without having to download and try out. This may trigger more downloads and more take up of Couch.

2. a short video introduction (from @KK?)

3. the Couch forum is OK, but should be responsive - I learn a lot from looking at it and it is often from my phone - which is awkward.

4. I've mentioned this previously ... a really well organised, searchable repository for plugins and addons - standard layout (description of functionality, how to install, dates, upgrades etc) maybe feedback and ratings. At the moment this is rather lost in the 'Tips and tricks' section. Again I think this would add kerb appeal for web designers assessing different CMSs. Maybe it could be monetized - so that there is an incentive for developers to come up with high quality addons that cost a small amount for others to download.

I know that these features will take time and effort - but maybe some of it could be shared amongst the Couch community - we all have a vested interest in making Couch as good as possible, as soon as possible. :)


agreed 100%
34 posts Page 3 of 4