380 likes | 729 Views
WCM/ i Parts. Ian Wann iwann@advsol.com. Agenda WCM. Manages all views of iMIS Mortar of iMIS Web views and desktop both use CM Component Overview Navigation Content Layouts Tagging Security Templates and Styles Component Flow Navigation Page Layout Parts (Content). WCM.
E N D
WCM/iParts Ian Wann iwann@advsol.com
Agenda WCM • Manages all views of iMIS • Mortar of iMIS • Web views and desktop both use CM • Component Overview • Navigation • Content • Layouts • Tagging • Security • Templates and Styles • Component Flow • Navigation Page Layout Parts (Content)
WCM • Fully supported starting in15.1.1 • Required to use iParts • Templates exist for desktop and all web views • Web view templates and the public views • 1700 • 1600 • 1500 series • Editing templates (XML, HTML, CSS) • Location • Editing tools • Visual Studio • Firebug • Reuse (import/export)
Universal Design (1700 Template) • Worked into process from start • Consistency • Stylistically • Structure • Better browser support
Ultrawave • Theme and master page • Adheres with universal design concepts • Lean • Universal • Skinnable • 1700 Template
Best in bread content editing controls • By Telerik • Use ASP.NET AJAX • Provide robust proven • Spell checking • Paste From MS Word – Clean Up Fonts • Image Manager • Flash Manager • Windows Media Manager • Robust CSS support • Can be reused in your custom applications • Direct developer support included from Telerick.com • No separate license • Browser independent
Agenda iParts • What is an iPart? • Conceptual theory behind iParts • Rules for creating iParts • Creating new iParts from VS templates • Learning by example- You Tube, Quotes, and the Contact Mini Profile
What are iParts? • Dynamic content • GUI front end interface building block • User and/or administrative controls • “Plug in” for Content Manager • Can have a setup(administrative) control used to configure an instance of the control • Can have default views (XML) • A document type serialized in ASI document system
What Are iParts? • ASP.NET web part controls for iMIS • Deployed via WCM • Reusable, configurable, flexible • Small pieces of iMIS data / content
iParts are the future • Future of iMIS modules • Future of iXtend program • Future of reseller products • Future of consulting ware • Future of all gaps • Right now • Alternative to using Public Views • Alternative to all Views
Website Building Blocks Contacts Content Record Profile iParts Store Address Info Shopping Cart Product Detail Related Products Checkout
Conceptual theory behind iParts • Seamless integration of custom and product • Allows for maximum product use by minimizing size of gaps • Allows row/field level security, setup, and creation of user views based on role and groups security model • Transportable between systems of the same version • Upgradable to future versions • Controls should be interface specific not data specific • Interface reuse • Portable packages • Can be used in all iMIS interfaces
Support • Officially supported only in 15.1.3 • Upgrade to 15.1.3 before using iParts • Exceptions are possible but not supported: • Visual Studio templates are specific to iMIS versions • Templates available starting with 15.1.1 as ETP • Can be created without template
Existing iParts- Communities For more on existing iParts attend Sarah Hardison’s iParts Overview talk tomorrow!
Installing iParts • The 15.1.3 Standard iParts you’ve just seen are pre-installed with iMIS. • New iParts may be released and can be installed outside of product releases
Rules for Creating Parts • Rule 1 Database Access • Use of SOA is preferred • Next best alternative is to use iBO for .NET • Rule 2 Name your web parts so the name will be meaningful and at the same time it will be unique. • Rule 3 Use descriptive Namespace and class names • Rule 4 When you create Properties please store actual property values in the ViewState scope.
Rules for Creating Parts • Rule 5 Parts should fail safe and will not crash if any expected parameter is NULL. • Rule 6 Don’t use static variables • Rule 7 Using existing Styles or create new ones using cascading sheet(s). It is recommended to use existing styles defined in the Public.CSS and other iMIS CSS files. If for some reason you need to add new/additional styles please do so by creating new CSS file and link it to the PUBLIC.CSS using IMPORT directive. Avoid using direct links to CSS in your web parts • Rule 8 Don’t overload your Web parts – Should have a one to one relationship between functionality areas and iParts. If you need multiple pieces of functionality create separate iParts instead of making one size fit all iParts
Files for Class • Slides at: http://members.NiUG.org/library.htm?mode=view&did=19585&lid=11841&wf=19582 OR ftp://ftp.advsol.com/download/iw/NiUG_Discovery_iParts.ppt AND ftp://ftp.advsol.com/download/iw/iPart NIUG Session Files.zip
Setup template in VS • Place the iPartVSTemplate.zip template file in the Visual Studio project template directory. By default, this directory is "My Documents\Visual Studio 2008\Templates\ProjectTemplates\Visual C#". • When you create a project in Visual Studio, "iMISiPart" will be an option under Visual C# templates
Create New iPart Project 1 • Create a new part by selecting “iMIS iPart” option under templates in new project • Name project as you want the assembly named in bin • Uncheck create directory for solution • Don’t check add to source code control yet
Create New iPart Project 2 • Check • Make sure location is right the first time (C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\test; test being sub folder for new part) • Location in the file system to see where files where created • Make sure references are correct; if not fix them • Under the view menu select task list then comments; task list will help you find a majority of the steps to get up, running, and deployed; alternatively could use [Ctrl] F to find each
Create New iPart Project 3 • Update NameSpace Name in projects Name Common.cs file and to search and replace on old with new in entire solution (optional) • Note: Not in to do list • Use default custom NameSpace for ones we do followed by name of project • Leave as defaults for class • Product ones under iMIS areas: • Commerce • Content Management • Etc.
Create New iPart Project 4 • Right click on project and select properties to update: (optional; depends on previous step) • Assembly Name • Default NameSpace • Note these are not affected by the earlier search/replace • Leave as defaults for class • Update batch that deploys iPart • Update Web_Root to: ‘C:\Progra~1\ASI\iMIS15\net’ • Update PUB_SERVICE_BIN to ‘..\..\..\..\bin’- already correct • Update IPART_DEPLOY_PATH to %WEB_ROOT%\iParts\Custom\Test- already correct
Create New iPart Project 5 • Should be able to build solution successfully • Open details of payment details iPart in new browser • Cut/paste values from each into new content type
Create New iPart Project 6 • Adjust the following: • Name: Reflect the AtomComponentName • Description • Net assembly name
Create New iPart Project 7 • FQN of class to Namespace of class • Don’t change the assembly iContentType and publish iContentType • Always one control for edit and update in template but they can be different. IE use the same URL for both controls • Set display control
Create New iPart Project 8 • Set help file link Note: System will complain that assembly could not be loaded. This is normal as it has not been deployed yet. • Register Content Type in iMIS interface then take values and plug them back into project 2 Key places: • In common class file PropertyContentTypeKey Update with GUID from iMIS • In config edit iPart edit AtomComponentName return the name with spaces(Start Case) • Build project
Create New iPart Project 9 • Deploy run batch file If first time then add ‘md %iPart_Deployment_Path%’ on line 12 • Save batch file • Right click on tab for .bat in VS open containing folder • Run batch file and press any key to continue
Create New iPart Project 10 • Go review the iPart folder(s) within the website • Created new project directory, control, & help file • In bin put dll and pdb breakpoint (pdb not required) • Refresh record by going away and coming back in iMIS
Create New iPart Project 11 • Create a new content record • Add content • Add defaults • Preview content • If want changes pushed out each time a new version is published then in project properties need to add post build event. ‘#(ProjectDir) Deploy iPart.bat’
Creating iParts Review • Create a new content typeContent Management MaintenanceContent types • Copy the new content type key, paste it into your iPart code • Build the VS project, run Deploy_iPart.bat
Learning by example- Contact Mini Profile • Part of product • Need to change class names if you want to modify it
Learning by example- You Tube • By ASI consulting • Wraps and references steaming videos hosted on YouTube channels
Learning by example- Quotes • By ASI consulting • Quotes in text blocks
Resources • http://www.imiscommunity.com/iparts_registry • http://www.imiscommunity.com/iParts • What’s there? • Visual Studio iPart project template • Facebook iPart • ‘How to install an iPart’ document • Best Practices documentation