Can I do this with Composr?


Your documentation for the catalogue system is somewhat good, but using it to build out logic-based applications isn't as well documented (or I'm not finding it...totally posssible). What do you think? Can this be done?
parks
parkid
parkname
lastverification
lastupdate
resorts
resortid
resortname
lastverification
lastupdate
Locations
lid
locationname
type (t/c/q/s/u/e) table/counter service/quick service/signature/unique/special event
loctype (p/r)
parkid
resortid
lastverification
lastupdate
menu
menuid
menuname
menutype (b/l/d/s/e/f/p/n) breakfast/lunch/dinner/special/event/firework/party/late night
lastupdate
lastverification
itemlistid
lid
diningplanaccepted (y/n) yes/no
itemlist
itemlistid
itemname
price
eligblediningplan diningplantype (qs/dp/dd) quick service/dining plan/disney dining plan
menutype (b/l/d/s/e/f/p/n) breakfast/lunch/dinner/special/event/firework/party/late night
shareditem (y/n) yes/no
eligblefordiscount
maxdiscountamount
lastupdate
lastverification
discounts
did
discountname
discountamount


Your documentation for the catalogue system is somewhat good, but using it to build out logic-based applications isn't as well documented (or I'm not finding it…totally posssible). What do you think? Can this be done?
Catalogues are not designed for logic-based applications. For that, you'll need a programmer.
Become a fan of Composr on Facebook or add me as a friend. Add me on on Mastodon. Follow me on Minds (where I am most active). Support me on Patreon
- If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
- If so, please let others know about Composr whenever you see the opportunity or support me on Patreon.
- If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying Composr on fun personal projects.
- If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.


Chris Graham said
Hi mwilson,
Your documentation for the catalogue system is somewhat good, but using it to build out logic-based applications isn't as well documented (or I'm not finding it…totally posssible). What do you think? Can this be done?
Catalogues are not designed for logic-based applications. For that, you'll need a programmer.
From “Post #4,266”, 2nd April 2018, 4:54 pm
What would that entail? I've done some development work in the past.



Ok, well the first step honestly is to forget about catalogues. There's a warning about trying to push them too far in the tutorial – while it's possible to customise the code, it's much more trouble than it's worth.
There are quite a few development-orientated tutorials you can read over, and the Code Book.
First I'd decide whether you are truly making a CRUD module (Create Update Delete module, of which catalogues is an example), or just want a form.
If you want a CRUD module then looking at the non-bundled iotds addon's code would give a good idea on how to make a fairly simple one.
If you just want a complex contact form, the Decision Tree system may be your best bet. You can see how the contact feature we use on this website is implemented using a Decision Tree:
https://github.com/ocproducts/composr/blob/master/pages/minimodules_custom/contact.php
Essentially it lets you network together various easily-generated forms, gathering data, and directing you to a terminus node. The terminus may be inside the tree (e.g. sponsor in the above example), or it may be a totally different URL (e.g. pointing to support ticket input in the above example, e.g. for upgrade).
In your case you'd need to add in some extra logic so that when you get to the end of the tree it runs the calculation code and displays the result. To keep things simple you may want to put that in a separate minimodule, so you can develop and test it separately from the Decision Tree form-input/flow code.
Become a fan of Composr on Facebook or add me as a friend. Add me on on Mastodon. Follow me on Minds (where I am most active). Support me on Patreon
- If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
- If so, please let others know about Composr whenever you see the opportunity or support me on Patreon.
- If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying Composr on fun personal projects.
- If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.


Become a fan of Composr on Facebook or add me as a friend. Add me on on Mastodon. Follow me on Minds (where I am most active). Support me on Patreon
- If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
- If so, please let others know about Composr whenever you see the opportunity or support me on Patreon.
- If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying Composr on fun personal projects.
- If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.




Dilano said
Is there a cap on how many separate minimodules you can have running btw, Chris?
From “Post #4,692”, 25th July 2018, 12:28 pm
No, but if you have hundreds within a single zone you may see some performance degradation, mostly depending on your disk speed. I haven't run any tests with very large numbers.
Become a fan of Composr on Facebook or add me as a friend. Add me on on Mastodon. Follow me on Minds (where I am most active). Support me on Patreon
- If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
- If so, please let others know about Composr whenever you see the opportunity or support me on Patreon.
- If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying Composr on fun personal projects.
- If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.