Apologies to you both, @hvelarde and @jensens (as well as anyone else asking about deadlines).
Yes we have a deadline. Our application is due Feb. 9. I would like to get proposed ideas on to the plone.org website by the start of next week (Feb. 6). That means i'll need to get basic writeups from you all by the end of this week (Feb. 3).
I really like the built in WCAG helper,
and also the distribution for easy multisite. I don't think the distribution needs to handle payments but to make it easy anyone in an internet for example to create a new site with a given quota and then be able to select and pick themes easily could be a boost to plones popularity. Normally multisite installs are tricky with other cms's. With fat themes that construct whole sites like a blogging site, or project/team site prevent the current "blah"/blank canvas feeling you get when you first install plone.
@gyst do you want to jump in here, assuming you would like/want student help? The Computer Science software engineering class I'm helping with this semester will be taking on Plone projects so if you don't want to wait for GSOC you might be able to get help much sooner.
I am new to Plone development. One could say I'd like to be a Summer of Code student. I have not looked to see if what I'm proposing has already been considered or developed in some form of add-on or feature.
I noticed that Plone lacks pseudo database query functionality. By that, I mean you can't do an advanced search for images whose filename contains "keynote", events that begin after "xx-xx-xxxx", or news items created by "xxxxxxxx xxxxxx" that contain "xxxx" in the location name or were published on "xx-xx-xxxx" without code. In short, this would be an advanced search functionality specific to each of Plone's standard content types. The user would have input types for many of each item's attributes. They would only be given the opportunity to specify attributes specific to the content type that they have selected. For example, you can only specify Attendees for Events because Events are the only standard content type with an attendees attribute. If made well enough, this could pertain to custom types as well. This type of search is a key feature in CRMs. I realize that CRMs and CMSs have completely different use cases but I honestly think the examples I explained above are not out of the realm of something people might actually want.
You can, actually, to some degree with collections. I would suggest looking at collections as shipped in Plone and focus ideas on ways to improve them, for example:
Are there kinds of queries (criteria) that are not possible on certain field types?
Would collections benefit from the ability to group queries into logical groups on which boolean algebra was performed (via set operations on results sets)?
In particular, how to exclude or include items from a primary result set with additional query (set difference, intersection, and union operations for more than one query).
How could a collection's user interface be improved? For:
Picking one or more locations in which items are located;
Selecting from controlled vocabularies of available choices;
Loading additional query choices using conditional criteria based on existing selection; e.g. rules to enable query of a field if a particular content type is specified;
How could acting on a collection's results be improved?
In terms of display, content export, and navigation choices.
@drumm91UWO@seanupton I have a specific GSOC proposal to fix exactly what you are describing. To enhance the existing customisation of listings and advanced search in plone (via mosiac). The proposal is detailed but it its aim is to support custom attributes and different custom layouts for both search and layouts via a visual UI. I believe that is solving the same user need you are describing. Would you like to apply for this project?
This feels like a very Plone-centric way of solving the use-case that @drumm91UWO has identified. Collections are Plone's way of doing more 'advanced' querying. But even that interface is a bit limited. There are other products that also use the query building mechanisms of collections to provide more refined search results for things like related items sliders. They too could benefit from this kind of improvement.
Any thoughts based on this feedback, @drumm91UWO? We'd love to hear more about your ideas.
We've just released a PAS plugin for Odoo. It's a module we had made some time ago and never really used it for the moment. It might be a good starting point. It needs some testings and improvements but seems to do the job with Odoo (v8) and Plone 5.0. https://github.com/collective/collective.odoo.pas
Much of the limitation might be in the expression of the query; that suspicion means that approaches might leverage JavaScript more heavily than existing collections. A student wanting to tackle this likely spends as much time in JavaScript as they do in Python.
I have built a JavaScript visual query editor around the intersection of repoze.catalog, zope.schema backends. This may offer some ideas for UX of more complex queries (e.g. grouping, set operations), it could be adapted to ZCatalog 3.0 reasonably; it looks something like this:
The trick with something like this is that it supposes a single schema, and a more general solution has to tackle searching heterogeneous content.
It would be nice to be able to quickly create ad-hoc advanced searches using the same general user experience as creating collections (or turn the advanced search into collections). It would be nice to have some outside perspective on what other systems (CMS, search/retrieval, or as @drumm91UWO mentions, CRM) are doing in this problem area to make it easier for non-technical users to create advanced searches/queries of content.
Thank you so much for you responce @seanupton! I really do need to familiarize myself with more of Plone. The UX you provided makes it very easy to specify values for attributes. Here's what I was imagining:
The user would have the ability to specify content type
After specifying content type, js would produce interfaces like yours to specify that content type's specific attributes. One might also want to want to show related fields that could be specified as well like @cewing suggested.