pracro:post-commit-hook
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
pracro:post-commit-hook [2011/12/02 10:33] – deva | pracro:post-commit-hook [2011/12/02 13:32] – deva | ||
---|---|---|---|
Line 1: | Line 1: | ||
======Post-Commit-Hook design====== | ======Post-Commit-Hook design====== | ||
A method for running a script on session data is needed on session-commit (possibly also discard?) in order to for example be able to post data to external databases when the data are commit to the pracro database. | A method for running a script on session data is needed on session-commit (possibly also discard?) in order to for example be able to post data to external databases when the data are commit to the pracro database. | ||
+ | The post-commit-hook scripts are to be executed //after// the commit has been performed successfully to the database. | ||
+ | |||
The mechanism should be designed so that it is also able to handle journal commits to pcpraxis (currently handled in c++ via upload server) and thereby replacing part of the functionality in the existing ''< | The mechanism should be designed so that it is also able to handle journal commits to pcpraxis (currently handled in c++ via upload server) and thereby replacing part of the functionality in the existing ''< | ||
<code xml> | <code xml> | ||
Line 20: | Line 22: | ||
All generated resume texts must equally be available in order for the script to be able to commit data to the pcpraxis journal. | All generated resume texts must equally be available in order for the script to be able to commit data to the pcpraxis journal. | ||
The data can therefore be made available in a preloaded map hierarchy of macros/ | The data can therefore be made available in a preloaded map hierarchy of macros/ | ||
- | < | + | < |
value = vars[' | value = vars[' | ||
</ | </ | ||
All resume texts are stored with the ''' | All resume texts are stored with the ''' | ||
An important feature of this list is that the native order of the macros are the same as in the template - **NOT** sorted alphabetically or similar!. | An important feature of this list is that the native order of the macros are the same as in the template - **NOT** sorted alphabetically or similar!. | ||
+ | |||
+ | It is considered to read out value fields using a function instead in order to prevent setting the values: | ||
+ | <code lua> | ||
+ | value = getValue(' | ||
+ | </ | ||
+ | |||
=====Script placement===== | =====Script placement===== | ||
Line 50: | Line 58: | ||
</ | </ | ||
+ | A similar solution is to be used in the individual macros (ie. oncommit/ | ||
+ | Each macros scripts are to be loaded in turn in a clean namespace containing only the values of the current macro (again to avoid naming conflicts) and executed in the same order in which they occur in the template. | ||
+ | |||
+ | The template scripts are to be executed //before// the macro scripts. | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=' | ||
+ | <macro name=" | ||
+ | < | ||
+ | < | ||
+ | function func1() | ||
+ | -- do something useful | ||
+ | end | ||
+ | |||
+ | function func2() | ||
+ | -- do something useful | ||
+ | end | ||
+ | </ | ||
+ | </ | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | </ | ||
=====Resume scripts===== | =====Resume scripts===== | ||
The resume scripts cannot directly be replaced by a single on-commit script since the resumes are used dynamically while the template is being edited (to show resumes in collapsed macros). | The resume scripts cannot directly be replaced by a single on-commit script since the resumes are used dynamically while the template is being edited (to show resumes in collapsed macros). | ||
pracro/post-commit-hook.txt · Last modified: 2011/12/02 13:35 by deva