Posts Tagged ‘3.0’

iAd Producer 3.0

Posted: August 8, 2012 in Apple, IT/Dev
Tags: ,

Apple provides iAd Producer 3.0 through Apple Developer program. It includes the following new features and enhancements :
• New templates
• New project overview user interface
• New layer list with search, re-ordering, and the ability to hide layers
• Project-wide shared layers
• Auto-advance between pages
• New built-in actions : Add calendar event, Send email, Place a call, Add contact, Add ringtone, Take screen shot, Set content offset for scrollView, Add PDF to iBooks, Set wallpaper, Save to photo library, Open URL, Take photo.
• iAd JS updated to version 1.6


Here is a detailed procedure to update Yellow Tools Software Suite (Independence Pro, Independence Live, Independence FX) from version 2.5.4 to version 3.0, and to create a new (required) license file for the installed library (Basic or Pro) :

– In the My Account/Products section of the Yellow Tools’s site User Area (once connected), enter the serial number for the new 3.0 version (has been received by email after the free update request email sent to yellow tools support).
Then from My Account/Downloads section download Yellow Tools Software Suite 3.0 and Yellow Tools Independence Basic (or another, required as it contains the updated instrument files – layers – for 3.0 version).

– Launch the installer from Yellow Tools Software Suite 3.0 archive. It replaces the applications from Applications folder by the new 3.0 ones, as well as the YT E-License Manager. The installer also creates a Yellow Tools folder under Library/Appliction Support (system), that contains the applicative part (Independence subfolder), however not yet the licences subfolder stated in the documentation. The Library/Application Support/Yellow Tools/Independence/images files folder contains the common image files (Autoload Sinus, Origami, Special and vinyle noise).

– Create a new folder to store the new layers and images files from the library (can be named Independence Basic config), and create layers and image files subfolders.

Expand the downloaded Yellow Tools Independence, and copy its layers content into the newly created layers folder. Then copy the image files from the old Yellow Tools Root Folder (only the files corresponding to the library, not the common ones) in the new image files folder.

Launch Independence Pro 3.0, and in the Libraries tab from Preferences, click on Add Library button and select the newly created folder for the library (Independence Basic config for example). Click on save preferences and quit Independence.

– Relaunch Independence 3.0 and click on Activate Independence Pro button (if not activated, a message will be displayed in Mapping and Performance tabs, stating that the software does not run in Pro mode, with also a link to register it). The E-Licence Manager then opens and displays a generated product code for Independence Software Suite 3.0. Copy this code in the My Account/Products section of the site, after having clicked on Activate button for Independence Software Suite 3.0 line. Wait a few seconds (if the activation server is down, wait for some minutes and try again, or later). When the page displays a success message, get the response code (has been emailed) and paste it in the E-Licence Manager.

The Library/Application Support/Yellow Tools/licenses subfolder is then created and contains the license (.lic) for Independence Software Suite 3.0.

– Relaunch Independence 3.0 (the Pro features are then available). Load an instrument, which opens the E-License Manager to create a new license file for the ibrary : the displayed/generated product code does not match the one that had been provided during the initial install of the library (2.5.4 version), however we can replace it with the previous product code, and enter the corresponding response code (that had been emailed during the initial install). The license file for the library is then created in Library/Application Support/Yellow Tools/licenses (the previous license file for the library – from the old Yellow Tools Root folder – couldn’t be used). However the license count for the library is left unchanged on the site (one per computer).

Activating the library also creates a Yellow Tools folder in the connected user’s Documents folder (its path is setted in User Folders tab of Independence Preferences). It contains a layers folder (without any instruments) and no image files (these are searched again the path specified in Libraries tab of Preferences).

The RC2 of Ext JS 3.0, unveiled last June, 3 (that was just one day after the 0.7 version of CP2JavaWS, that brought management for automatic asynchronous and buffered remote access for TableView) provides a CRUD mode that is close to CP2JavaWS’s Direct2CP one (presented last July, 14, and completed August, 2 – I wasn’t aware of Ext JS new features at that time).

Using Ext JS we create a Reader object (manages deserializing/JSON to fields mapping), Writer (for serializing/fields to JSON mapping) and Store object (url of remote programs that manage read, create, update and delete). We can see examples here and there (RESTFull store), and simpler examples wihout server backend (Dynamic Form and binding from a local xml file). On the Proxy object we can also specify an index range (autoLoad), that allows buffered access (Buffer Grid).

The Ext JS architecture ensures a good separation and provides advanced customization of rendering and behaviours for master and detail views. However CP2JavaWS provides these specific features :

  • only one line of code needed to create a fully working CRUD master/detail view (see here the required code when using Ext JS), automatic asynchronous and buffered access, sorting, form (detail view) controls that depends from their property type (as with Ext JS’s Dynamic Form). We just have to specify the CP business class name. All of the Ext Js features are accessible from a unique component, that allows same level of customization : columns displayed in the table view, custom detail view if needed, custom remote service if needed (instead of the provided generic DAO service).
  • provides a generic DAO service that doesn’t require any coding or setting on the server side, works on the object level and manages full database access cycle (through Hibernate) – Ext JS’s RESTful Store demo just simulates a database using session. Then CP2JavaWS’s Direct2CP is probably the most suited for a Java backend (instant work without any coding nor config).
  • allows to call directly an existing Java application/business services layer (based on Spring or another container) as it works at object level, and without additional configuration.
  • manages complex objects (objects graphs with nested, heterogeneous collections and references) both on client and server side : it then allows to display/edit any nested property, using paths, and the generic detail view creates an editing field for all of these nested objects attributes. Next version of CP2JavaWS will allow to specify (restrict) the editables properties in detail view (as we still can for the table view) – for now we can either edit all the object’s graph properties, or pass a custom detail view (has then to manage controls creation).
  • provides management for technical or business (and multiple) key(s), without additional configuration. Hidding of id field(s) depending on the mode and editing step is automatic, as new id affectation.
  • manages retreiving of value/label pairs for combo lists and radio buttons groups (through a remote service or local data).
  • choose automatically proper control from combo lists and radio buttons.
  • completely free (a 329$ license per developper is required for Ext JS).

Moreover CP2JavaWS provides full Digest authentication (Basic only with Ext JS), automatic switch to JSONP if required, and full jsession id tracking per endpoint.

Note : support for in-table editing (instead of using a detail view), still available in Ext JS, will be added soon into Cappuccino’s CPTableView. In fact it is an historical feature of Next/Cocoa’s NSTableView (the proper delegate method is still listed – commented – in CPTableView). In the same way columns reordering is planned.

Ext GWT 2.0 (available since July, 9, and priced the same as Ext JS 3.0) includes the new buffered Grid View, Row Editor, and still allowed (thanks to its generation step) to easily add Java CRUD management on the server side. However we still have to write a lot of code (see the source code of GXT Grid Store Data Binding example – also not faster to load than a CP application) and we are then stick with GWT limitations compared with Cappuccino :

  • requires a generations step (not elegant and less smooth development cycle), whose generator isn’t open source,
  • generated javascript very hard to deep debug,
  • based on the old Swing components model (very limited compared with Cocoa concepts),
  • does not allow integrating with Cappuccino (we then lack high level features like evolved graphics engine, undo/redo, drag&drop, advanced and automatic layout management, delegation chain and powerful runtime, etc.).

By using Ext JS 3.0 (pure javascript), integration with Cappuccino is more likely, however it is of very limited interest from the previous statements (and CP2JavaWS’s Direct2CP mode still is built on top of standard/expected Cocoa delegate methods).