[OPEN-ILS-DEV] ***SPAM*** Re: questions about testing modifications to database and client

Ben Shum bshum at biblio.org
Tue Nov 15 20:09:32 EST 2011


Some thoughts below based on what I know so far with my very limited 
poking around...

On 11/15/2011 7:01 PM, Scott Prater wrote:
> I'm working on the patron statistical category enhancements.  I made
> the changes to the database, adding a few columns and a new table, and
> I updated the install scripts to add them to the database with a fresh
> install.
>
> Question 1:
>
> Do I need to run any script(s) to update a cache of database objects
> if I make changes to the database, in order for those changes to be
> picked up in the controller and view objects?
I don't recall having to do so in the past when I toyed with adding 
additional database fields to the fieldmapper in fm_IDL.xml.  I may have 
restarted opensrf services though.
>
> Question 2:
>
> So far, I've modified stat_cat_editor.js (the controller, I presume)
> and stat_cat_editor.xhtml (the view), as well as my
> locale/en-US/lang.DTD file to include some new label entities.  Am I
> missing any other pieces here, in order to connect the interface to
> the database?
Sounds like a good start to me so far, but I haven't inspected that 
layer of code too closely before.
>
> Question 3:
>
> Is there any developer documentation on the permissions architecture
> for Evergreen?  I can infer some things from the code;  are
> permissions set at the table level, or at the column level?
Not too sure what table vs. column level means, but Evergreen 
permissions are quite interesting.  They can be assigned on a per-user 
basis or a per-group basis; and also granted on a per-user basis by 
other users too.  In the database, most everything is contained with 
tables part of the "permission" schema.  The permissions themselves are 
listed in the "perm_list" table; the IDs are specific and the first 1000 
are "reserved" for core Evergreen functionality as far as I'm told.  All 
of our custom permissions start at 1001+.  Permission groups (user 
groups) are defined in the "grp_tree" table.  Then in "grp_perm_map", 
each permission group can be assigned all the various permissions.  The 
"depth" value on that table refers to which level in the org unit 
hierarchy (library structure) that permission applies.  The "grantable" 
boolean there describes whether it allows users of that group to grant 
the permission to users of other groups.  That's where the 
"usr_perm_map" starts to come into play I think - on this table you can 
assign specific permissions to specific users similar to how groups are 
done.  So if you're creating *new* permissions, then presumably, these 
would need to be written into the perm_list table and then associated 
with the staff accounts (perhaps the local administrator one) via the 
grp_perm_map entries.
>
> Question 4:
>
> Is there a way to refresh the page in the xulrunner client, after I
> make a change to it on the server?
I believe this is where logging out and completely closing the client, 
then starting it back up brings in fresh changes whenever we've done 
changes to the different page interfaces of the staff client.  Also, 
sometimes we've found that using the "Clear Cache" is necessary too.  
That's under Admin --> For developers... --> Clear Cache (but that's 
been less necessary recently).
>
> I'd love to hear about the tools and/or workflow other developers use
> to make and test changes to the interface and the database.
>
> thanks,
>
> -- Scott
>
>

-- 
Benjamin Shum
Open Source Software Coordinator
Bibliomation, Inc.
32 Crest Road
Middlebury, CT 06762
203-577-4070, ext. 113



More information about the Open-ils-dev mailing list