Hello, I found many feature requests in other subforums as well in various posts for the last 4-5 years. :idea: Some are still valid and many are not valid since release of Couch v2. I will curate them and post below with numbers, so we could mention them. :)
Many feature requests do not need to be a part of CouchCMS (it should stay really clean, simple and bare). It means many requests are for extensions, new tags, addons and Concepts. I will print all of them and triage later with your help (if any).

Post your new feature request or discuss pending ones with me and I will see and try to reply you. :ugeek:


Code


24.07.2020:



  1. Search in repeatables - Another topic is search in repeatables.. Just to mention I was already looking for something like this:


    What I propose is maybe we should just rewrite repeatable to be more like mosaic (internally works as hidden templates with cloned pages).
    Also, repeatable data is already available for fulltext search.

    What this topic is really about - it is filtering pages by data in repeatable region.
    Instead, it is so much better to use a different approach - copy necessary texts to a hidden input. Those can be added without admin effort.


  2. Is it better to CouchCMS have `searchable='0'` for editable fields by default?
    Like I can add `searchable='1'` only for those fields that I need searchable (3-4).
    It can help avoid situations where we must put `searchable='0'` for the possibly very many fields in all templates.


  3. (from @CouchBob) Show a tutorial how to make a popup via button on the list-view to display globals in simple mode (i.e. without sidebar) similar to inline-edit.


  4. A new Theme, completely overhauled, for AdminPanel.

    Dark theme, Vertical-oriented theme, truly multi-language-responsive theme.

    Designers should be able to design themes easily. Not a single theme in 4 years means current approach must be rethought and rewritten completely.
    The purpose of creating one theme for scratch with designer-friendly code is to properly expose variables, tags for userspace instead of un-usable <cms:admin_../> tags and inconsistent variables from Context-setters.


    25.07.2020:


  5. Create a solution (possibly with global session) on How to count active concurrent users (viewtopic.php?f=2&t=11195#p29321)


  6. Add global variables k_creation_ip, k_user_ip


  7. three-level checkboxes - select all, partly select (exclude un-published), select none


    01.08.2020:


  8. GPC

    When it will have deep level parsing? It is extremely necessary for nested multiselects, datatables etc.


  9. Create a parser method to get TEXT ( getTEXT() on par with getHTML() ).


  10. Not only upgrade documentation, but allow to dump_possible_parameters for each tag.


  11. Fix bugs:

    "Delete all pages and drafts of this template to remove it" -- but they are maybe hidden via cms:config_list_view!

    Parent Page in NestedPages dropdown in form-view must also ignore such de-listed pages.


  12. deblock SESSION via read-close for PHP7.

    Also have hooks to let addons deblock session, where session could have been used. Topic: viewtopic.php?f=4&t=12351#p34406



Addons


24.07.2020:



  1. Automatic registering of templates

    daldred wrote: It certainly does sound interesting and time-saving! &mdash; @daldred (viewtopic.php?f=2&t=12716#p35992)

    A Couch installation with auto-registered templates is something a full-time developer can think about.
    Extended-users, CouchCart, Bartonsweb's sitemap.php, 404.php and any other template that has been prepared can automatically appear the first time a superadmin logs into Admin Panel. How?
    Via a special addon that automatically registers template in the order that developer sets in addon's configuration file.


  2. MobileDetect

    Adapt MobileDetect. Perhaps, it will help to skip some parts of the code (expensive loops).
    This way we load only light-coded snippets for mobile devices. It could even work as multi-lang addon, adding example.com/en/about-us/?device=mobile

    Code: Select all
                <cms:if k_is_mobile >
                    <p>You are browsing with a mobile device!</p>
                <cms:else_if k_is_tablet  && k_is_desktop />
                    <p>You are browsing with a tablet or a desktop!</p>
                <cms:else_if k_is_desktop />
                    <p>You are browsing with a desktop device!</p>
                </cms:if>
               

    Via a k_variable or a tag -

    Code: Select all
                <cms:device type="mobile">
                    <p>You are browsing with a mobile device!</p>
                </cms:device>
                <cms:device type="desktop">
                    <p>You are browsing with a desktop device!</p>
                </cms:device>
                <cms:device type="desktop, tablet">
                    <p>You are browsing with a tablet or a desktop!</p>
                </cms:device>
               



  3. Import

    Automated solution to export posts from WordPress/other CMS to json/csv and import them to Couch.


  4. HEPA: Help Pages Addon

    This is my topic about <cms:anytag help='1'/> => HEPA: Help Pages Addon (viewtopic.php?f=2&t=12250&p=34035#p33970)

    My another topic: Documentation (viewtopic.php?f=2&t=12535&p=35287#p35255)

    • Should I charge for extended help like others suggested? With tips and examples. Free version only lists parameters? I kinda don't like this, but why not.
    • I want markdown docs, very simple to manage and write.


  5. Markdown

    Generate md => html converter-generator with many different color schemes (adapt existing generators).
    To this topic - can add a Markdown textarea and refresh old @KK's addon with markitup field.


  6. HTML/CSS/JS Minify

    A proper HTML Minifier and, possibly, Purifier, similar to PHP's extension `php_tidy`.
    (Anyway, such jobs better sent to async background worker.)
    And functionality available for complete pages via config and as a tag for a piece of code.


    25.07.2020:


  7. Data Privacy

    AdminPanel setting (topic by @Potato) - add a provision to securely crypt some personal data. Maybe show encrypted content for logged user only.


  8. Visual builder

    Drag and drop and customize editable fields (Expand on my topic [Constructor of editables (and tags)](viewtopic.php?f=2&t=12153#p33664) )


  9. Data exchange

    DE between installs and websites.


  10. REST API

    Helpful to build React/Vue apps.


  11. OAuth plugin

    Login/Register with Socials (Facebook, Twitter etc)


  12. IFTTT (IfThisThenThat) Integration

    Add pages to AdminPanel automatically from other sources, emails, content providers
    Update Facebook page if new post added to AdminPanel


    01.08.2020:


    Pull my latest images from Flickr and simply output them in a list.
    Embed/integrate Google Forms and other third-party marketing tools to get data to backend.


  13. R̶a̶n̶d̶o̶m̶ ̶D̶a̶t̶a̶ ̶A̶d̶d̶o̶n

    Update: I coded it and described (without download) here viewtopic.php?f=2&t=12749

    Create a wrapper for library https://github.com/fzaninotto/Faker#fakerproviderbase

    It will be possible to add randomly generated data in various formats


    01.08.2020:


  14. Granular Cache for Registered Users

    Wherever is a Customer Area, Order Management, Forms and places where defaul cache is disabled.

    A sub-problem here is update cached files on demand - ex.: change <option selected> on demand in cached 100kb snippet - when different option is selected, it's like 100 snippets for 100 variants? Not good.


  15. Mega menu script

    Autocreate Menu Concept - auto-populate NestedPages from all other templates, folders and pages, similar to Sitemap.





01.08.2020:


Admin & User Experience


  1. Carousel of cloned inputs

    I have made a cloned page. When I would save a certain cloned page, I would like to be able to compare that record with the other available records, and if some checks appear to be true, I want to be able to edit the other records within the same clonable page and on other clonable pages. Is this possible? If yes, how to do this?


    This is about "seeing this field from other pages" - could be fairly simple via some expandable panel or a special AdminPanel route.


  2. Navigation to prev-next pages

    Very quickly jump to neighbor pages via links. Also maybe prefetch them to fastest experience.


  3. Language selector

    Dynamically Set Admin Lang when Administrator logs in to Admin Panel and has a lang preference in profile.


  4. Comments subsystem

    Comments need update.

    • Duplicate content ("Thank you!") from users is not allowed, it is not right.
    • Allow to post with some other name, than 'admin'.
    • Make advanced parsing of the form's fields
    • Edit comments in admin panel
    • E-mail is set to required, though in form it is not required


  5. Better Inline Edit

    Review and Upgrade Inline editing to include every possible field. A site should be possibly entirely modificable "live, in real time, without admin panel, only with credetials.


  6. Unlimited Undo

    Not only make a daily backup of both the site and the database (in GoDaddy it is very easy to use), but allow to restore state to previous date/edit.


  7. Restore Closed Form

    Save forms to local storage before submitted to not lose data entered.

    Use ready solutions:
    http://garlicjs.org/#demonstration
    http://sisyphus-js.herokuapp.com/


  8. Using related_pages field:

    A button below relation editable pops up a window to create related pages that will automatically become related to the original page.


  9. CouchCMS Code-Integrity Check

    Check integrity of all files with a list of hashes for each file.

    Alternative solution - download zip from git, unpack it, get a hash for each file and recursively verify "/couch" folder. Offer upgrade/replace if needed.


    Micro-frameworks


    24.07.2020:



    1. Blockchain

      Store bblockchains in a special dedicated table `couch_bchain` and create instruments in userspace to manage blockchains.


    2. Background worker

      It is similar to ReactPHP's loop - start an indefinite background looped process and send jobs to it for async execution.

      What async means?

      • It can wait for the better moments when db is not very loaded.
      • Memory caches persisted among all separate requests
      • it can do anything in background when the time is right, not like cron job

        CouchCMS could be extended to create caches in background, create backups and UNDO-history of saves; send mails async to avoid page reload delay etc.


    3. Continuous code

      A new tag <cms:handover/> - when client browser receives page, our code can be continued on server for a little more time.

      • "Checkout" use-case: user clicks 'checkout' in cart and normally is redirected to payment company page. During that time, our code takes care of his order &mdash; reserves quantity, sends emails etc.
      • "Visitor" use-case: any visitor comes to our page and content served momentarily. "Aftershow" code refreshes caches, starts logging, warms up next-prev pages, sends us an email if any error happened during visit.


      25.07.2020:


    4. Website Scrapers in CouchCMS? Like https://github.com/masterT/ultimate-guitar-scraper


      01.08.2020:


    5. Complete eCommerce solution

      Full-muscle ecommerce solution based on Couch with a back-end for orders.




    Images


    25.07.2020:


    1. Resize animated GIFs
    2. Multiupload
    3. Multiupload to Cloud Services (to Alibaba Cloud etc)
    4. Separate folder for each Administrator for uploading
    5. Modernize File/Images management


    Community


    25.07.2020:


    1. Need more tutorials, video, courses (like Udemy) for advanced search implementation, multilanguage, CSV-import, how to make unique admin panel, DataBound Forms, and user registration etc.


      01.08.2020:


    2. Modernize forum
    3. Official chat rooms
    4. Addon Store

      This will allow maintain working code compatible with v2. A few older solutions posted in forum are not working.



TBC