Open mvesper opened 9 years ago
configurable notification / mail system
Circulation package should trigger well defined signals so other packages, such as Flask-Notifications we are developing right now, can handle this signal in it's own way.
Search
Own, circulation specific implementation or will there be some invenio standard?
There was an idea to use records of different types to store libraries, items, or users. Hence we can then use standard search engine with all access rights in place to handle this case.
logging of events
Python logging mechanism should be enough together with possible custom log handlers. One should be also able to register new signal (event) handler if we use for example Blinker library.
There was an idea to use records of different types to store libraries, items, or users. Hence we can then use standard search engine with all access rights in place to handle this case.
:+1:
Now that some time has passed since the beginning of this project I was asked to come up with a roadmap about the future development. Here is my current plan:
To sum up the list:
After a couple of iterations and restarts, the current circulation prototype is in a working state for the basic operations, so the following steps should be implementable quicker:
notification / mail system
Instead of using templates stored as text files, there is the idea of storing them in the database, in some kind of json format, so that they could be editable on the fly in the same way as the other entities. Mixer is intended to be used here.
logging of events
This basically boils down to deciding what information we store and how. Since we want to query for information and not just documents, it seems reasonable to store the event information in a relational database fashion, utilizing the power of SQL.
using a daemon
The current bibcirculation uses a daemon to update status of loans and to send overdue mails. At this point this is completely undecided for the next circulation.
user/item/library roles/rules
Certain users/libraries/items could have different rules regarding their loan period, so this needs to be addressed. On approach would be using something like Access Control Lists (ACL) composed of those three entities mapped to one duration. This might end up being a little overkill though. Therefore a combination with "priorities" is proposed. Every item/user/library holds a loan periods together with a priority, overwriting the less important values. The ACL would be used as some kind of fallback.
Search
Own, circulation specific implementation or will there be some invenio standard?
Entity editor
JSON based editor should be in work already.
Criticism is highly encouraged :)