Hello, I found many feature requests in other subforums as well in various posts for the last 4-5 years. 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.
Code
24.07.2020:
Addons
24.07.2020:
01.08.2020:
Admin & User Experience
TBC
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.
Code
24.07.2020:
- Search in repeatables - Another topic is search in repeatables.. Just to mention I was already looking for something like this:
- https://stackoverflow.com/questions/304 ... a-in-mysql
- https://stackoverflow.com/questions/411 ... ized-array
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.
- https://stackoverflow.com/questions/304 ... a-in-mysql
- 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.
- (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.
- 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:
- Create a solution (possibly with global session) on How to count active concurrent users (viewtopic.php?f=2&t=11195#p29321)
- Add global variables k_creation_ip, k_user_ip
- three-level checkboxes - select all, partly select (exclude un-published), select none
01.08.2020:
- GPC
When it will have deep level parsing? It is extremely necessary for nested multiselects, datatables etc.
- Create a parser method to get TEXT ( getTEXT() on par with getHTML() ).
- Not only upgrade documentation, but allow to dump_possible_parameters for each tag.
- 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.
- 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:
- Automatic registering of templates
daldred wrote: It certainly does sound interesting and time-saving! — @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.
- 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>
- Import
Automated solution to export posts from WordPress/other CMS to json/csv and import them to Couch.
- 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.
- 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.
- 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.
- 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:
- Data Privacy
AdminPanel setting (topic by @Potato) - add a provision to securely crypt some personal data. Maybe show encrypted content for logged user only.
- 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) )
- Data exchange
DE between installs and websites.
- REST API
Helpful to build React/Vue apps.
- OAuth plugin
Login/Register with Socials (Facebook, Twitter etc)
- 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.
- 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:
- 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.
- 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
- 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.
- Navigation to prev-next pages
Very quickly jump to neighbor pages via links. Also maybe prefetch them to fastest experience.
- Language selector
Dynamically Set Admin Lang when Administrator logs in to Admin Panel and has a lang preference in profile.
- 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
- Duplicate content ("Thank you!") from users is not allowed, it is not right.
- 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.
- 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.
- 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/
- 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.
- 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:
- Blockchain
Store bblockchains in a special dedicated table `couch_bchain` and create instruments in userspace to manage blockchains.
- 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.
- It can wait for the better moments when db is not very loaded.
- 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 — 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:
- "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 — reserves quantity, sends emails etc.
- Website Scrapers in CouchCMS? Like https://github.com/masterT/ultimate-guitar-scraper
01.08.2020:
- Complete eCommerce solution
Full-muscle ecommerce solution based on Couch with a back-end for orders.
Images
25.07.2020:
- Resize animated GIFs
- Multiupload
- Multiupload to Cloud Services (to Alibaba Cloud etc)
- Separate folder for each Administrator for uploading
- Modernize File/Images management
Community
25.07.2020:
- 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:
- Modernize forum
- Official chat rooms
- Addon Store
This will allow maintain working code compatible with v2. A few older solutions posted in forum are not working.
- Blockchain
TBC