The doc page for file sets shows how to create one with the TYPE_PUBLIC type but makes no further mention of set types. Looking at the class I see there’s also a TYPE_SAVED_SEARCH. That makes me think I could create a set from a filtered and sorted file list which would be really useful for what I’m doing. But this appears to be another of the great many secret features of concrete that nobody has documented and I don’t see any method that looks like it would let me actually set the search criteria for this type of set. Does documentation exist for this and if not what is this and how do I use it?
I feel like there’s probably a million awesome things that could be done with concrete that nobody but the core developers know about because they never documented so many of them.
DOCUMENTATION SHOULD NOT BE AN AFTERTHOUGHT! IT IS ESSENTIAL! YOUR POOR DOCUMENTATION IS MAKING ME WASTE SO MUCH TIME!!!
I agree 100%. For every hour a developer of the Concrete core doesn’t spend documenting their code, 1000’s of users of that code waste an hour each working out how to use it. In the big picture such unbalanced economics are abysmal. In the small picture, you figure who has to pay for each side of that equation.
There have been some improvements, where a cheap fix has a big payoff. Such as moving the index to the left. But such cheap fixes for big gains are limited.
Concrete is a great CMS. The things that limit its growth and wider adoption are not adding new functionality, flag waving, marketing and enthusiasm. With each new version of Concrete the gap between functionality and developer documentation increases and existing documentation gets further out of date. The step a new adopter of Concrete has to climb grows bigger. The growth of Concrete is limited by documentation and education to help others work with and contribute to that functionality.
An open source project that is adequately documented is a rarity. However, when you look at the really successful open source projects, the one thing those projects all have in common is good documentation. The current documentation last-if-ever approach means that Concrete can never become a member of that top tier of projects.
@sparkymeister No, that functionality is not used in that way any longer. That’s why it’s not documented. The version 9 file manager has the ability to create saved searches through the user interface, which should hopefully assist with what you’re trying to do.
@JohntheFish It sounds like you may have missed some of the documentation we’ve added in the last few months for new version 9 features like containers, boards, new theming technologies, the new Bedrock theming engine, new package development process, tasks, messaging, Mercure and more. If there are ways these fall short please let us know
I’m doing this from inside a task, so doing it from the gui is not useful. But I would be curious how it is done. Is there any documentation on this? I don’t see anything in the user guide file manager about creating saved searches. I don’t see anything in the gui that looks like what you describe.
Saved searches are meant to be user-facing; they are a way for users to add something like “All files over 50MB sorted by date added descending” in a way that they can easily search by without having to re-enter all criteria.
I suppose I can see the value in having that be something that programmers could reference in their code for their own custom solutions – but since you’re in control of the code I would recommend just using the Concrete\Core\File\FileList object directly within whatever task you’re working with, as described here: Searching and Sorting with the FileList Object
Use those methods to filter the file list object and retrieve files that match your criteria, and then operate on those files within the task.