Download presentation
Presentation is loading. Please wait.
Published byLambert Hensley Modified over 8 years ago
1
© 2011 LabKey Software www.labkey.com LabKey Server Release 11.3 Atlas Developers Meeting 11/16/2011 Adam Rauch adam@labkey.com
2
© 2011 LabKey Software 11.2 Changes: Feedback or Usage? New SQL Editor ExtJS 4.0 Python API Large external data sources Oracle 2
3
© 2011 LabKey Software Significant Changes in 11.3 @RequiresPermissions(int perms) removed Annotation on controller action classes Bitmask-based permissions were replaced by class- based system two years ago @RequiresPermissionsClass annotation only option now Column caption generation for looked-up columns Now, only the caption of the last column is shown e.g., "Label" instead of “Participant Visit Cohort Label" Affects export (Excel, TSV, and Rlabkey, but not R reports) so external tools may be impacted 3
4
© 2011 LabKey Software Client-Side JavaScript JavaScript API: LABKEY.Utils.getDateAltFormats() Utils.js misc helpers: onError(), isEmptyObj(), roundNumber(), padString(), caseInsensitiveEquals() Bug fixes, documentation Ext JS Upgraded to Ext 4.0.7... use Ext 4 for all new dev Added Ext4 Store, FormPanel, GridPanel, et al We’re migrating all our code to Ext 4; Ext 3 is now deprecated and will be removed eventually 4
5
© 2011 LabKey Software Other Scripting Languages No real changes to Java, R, SAS, or Perl libraries A few Perl API bug fixes Reminder: new Python client library Assay transform scripts Scripts can run before inferring types: trim white space, replace “-” or “NA” with null, etc. 5
6
© 2011 LabKey Software Other Potential Areas of Interest Support for building on JDK 7 & running on JRE 7 Nested security groups Data browser, thumbnails, etc. Header locking Support for ancillary studies Quick participant group create from any dataset Time chart: visit map, means, multiple groups 6
7
© 2011 LabKey Software Table Layer Table.java provides access to database tables Hides grungy details of JDBC Provides ORM – mapping Java objects to/from tables Supports select, execute, insert, update, delete Table “interface” is straightforward but inflexible 100+ static methods that munge query source, modifiers, and output formats into one parameter list Results in telescoping parameters, method explosion Every method throws checked SQLException, which callers can rarely handle Also, static methods don’t share implementation well, resulting in duplication and inconsistencies 7
8
© 2011 LabKey Software New Approach: JdbcCommand Allows much more flexible composition Can specify Exception framework per call Spring runtime DataAccessExceptions (default) RuntimeSQLException Checked SQLException (for backward compatibility) Plan JdbcCommand (Selector & Executor) available in 11.3 Table layer being rewritten as calls to JdbcCommands Will extend Selector & add Update, Insert, Delete (12.1?) Will deprecate Table layer and migrate our code away 8
9
© 2011 LabKey Software Questions? 9
10
© 2011 LabKey Software ExtJS 4.0 Example https://www.labkey.org/wiki/home/Documentation/page.view?name=ext4 LABKEY.requiresExt4Sandbox(); // Ext4 runs in sandbox mode for now Ext4.onReady(function(){ var store = Ext4.create('Ext.data.JsonStore', { fields: ['name', 'data1', 'data2', 'data3', 'data4'], data: [ {'name':'metric one', 'data1':10, 'data2':12, 'data3':14, 'data4':8}, {'name':'metric two', 'data1':7, 'data2':8, 'data3':16, 'data4':10}, {'name':'metric three', 'data1':5, 'data2':2, 'data3':14, 'data4':12}, {'name':'metric four', 'data1':2, 'data2':14, 'data3':6, 'data4':1}, {'name':'metric five', 'data1':27, 'data2':38, 'data3':36, 'data4':13} ] }); Ext4.create('Ext.chart.Chart', { renderTo: 'chartDiv', width: 500, height: 300, store: store, [... Other config params... ] }); 10
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.