LS2013 Core Project – Update B2 Changes

Here is a list of changes you will need to make to your B1 projects if you want to use the new JavaScript code. I believe it would be well worth the time to make the update as the functionality has been refined. May take an hour to run thru all the changes.

  1. Most of the functionality has been moved to an external javascript file and using a namespace of itgLsHelper
  2. No longer need query data item added to a tileMenu screen
  3. Changed Admin screen to be Security
    1. Delete the query in the left panel, not needed anymore
  4. MenuTiles Data Table
    1. Change OnClick to be choiceList
    2. Add one choice, doesn’t matter as we’ll replace it
  5. Menus Data Table
    1. Delete the Screen field, we don’t use it
  6. LsSecurityData.UserRegistrations table
    1. Add a new query
    2. Name it CurrentUser
    3. Edit Additional Query Code
    4. Add the following
    		query = query.Where(u => u.UserName == this.Application.User.Name).Select(u => u);
    		
  7. IconsImport screen
    1. IconsImportCsv_execute, changed to use new code
    		// Import a CSV that is pasted into a big text area
    		itgLsHelper.importIcons(screen.CsvList);
    		
  8. New screen, MenuExport
    1. Browse screen, screen name: MenuExport, no data
    2. Select Show As Dialog, or not
    3. Add Data Item, Local Property, String, Required, Named: JsonMenuData
    4. Add the property to the screen
    5. Change the control type to text area
    6. Height and Width set to Stretch
    7. Set the tab also to Stretch Height and Width
    8. Write code, for the screen created method
    		// Get our contentItem to hold the export
    		var exportContentItem = screen.findContentItem("JsonMenuData");
    	
    		// Lets get our data, stuff the contentItem when done
    		itgLsHelper.exportTileMenusToJson(exportContentItem);
    		
  9. MenusBrowse screen
    1. Add button, Existing method
    2. showMenuExport
  10. MenuTileAddEdit screen
    1. You’ll see the OnClick field is now a dropdown
    2. Change the display name of OnClick to be On Click Show Screen
    3. Edit the screem created method
    4. Add the following code
      		// Go get our OnClick field (contentItem)
      		var onClickContentItem = screen.findContentItem("OnClick");
      	
      		// Update our screen picker with the list of screens
      		// This should be within screen created vs post render of the field
      		itgLsHelper.screenPicker(onClickContentItem);
      		
    5. Update all the colorPickers to the following
      itgLsHelper.colorPicker(element, contentItem)

    6. Update the iconPicker to the following
      itgLsHelper.iconPicker(element, contentItem)
  11. Start screen
    1. Delete the query items in the left panel, we no longer need them
    2. Add a new data item to the screen
    3. Local Property, boolean, Not required, Name it itgReady
    4. Edit the Render code for the custom control
    5. Remove the current code inside the render method
    6. Replace it with the following
      		// This will initialize the system, getting user info, permissions, etc
      		// Only needed in your startup screen. Called once.
      		itgLsHelper.init({
      			readyPropertyName: "itgReady",
      			contentItem: contentItem,
      			element: element,
      			menuName: "Start"
      		});
      		
    7. If you look at the sample project you will also see how we’ve implemented additional options, jsonMenus and screens to exclude from a list
  12. UserRegistrationAddEdit
    1. Open the screen editor
    2. Add Data Item, Local Property, String, Not Required, Named: ConfirmPassword
    3. Edit PostRender Code for the Password field
    4. Add the following code
      		// Go find our ConfirmPassword contentItem
      		var confirmContentItem = contentItem.screen.findContentItem("ConfirmPassword");
      	
      		// Turn this field into a password with validation
      		itgLsHelper.passwordValidator(element, contentItem, confirmContentItem);
      		
    5. Edit PostRender Code for the new ConfirmPassword field
    6. Add the following code
      		// Go find our Password contentItem
      		var passwordContentItem = contentItem.screen.findContentItem("Password");
      		
      		// Turn this field into a password type, validate against the password
      		itgLsHelper.confirmPasswordValidator(element, contentItem, passwordContentItem);
      		
  13. UserRegistrationsBrowse
    1. Edit the query
    2. Add a filter:
      		Where UserName <> leavemealone
      		
    3. Add your own name that is the security name for your Odata Svc call
  14. default.htm
    1. Update the reference to itgLsHelper.js
    2. Update the getUrlParameter with
      itgLsHelper.getUrlParameter

    3. Update the Etag fix towards the bottom of the file with
      itgLsHelper.fixMetadataHandlerForEtag();
      itgLsHelper.fixJsonHandlerForEtag();
  15. Script.PostDeployment1.sql
    1. Under default menus
    2. Delete the [Screen] field and data fields
    3. In fact this whole section changed and should be reviewd. Look at the sample project
    4. No longer is there a worry about Azure or other hosters.

2 thoughts on “LS2013 Core Project – Update B2 Changes

  1. […] were some minor updates to tables and a few screens that I’ve documented and put in a page here. I’ve also added a BreakingChanges file to the project on […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: