Development In Kentico 7

Slides:



Advertisements
Similar presentations
2/25/2013 Miro Remias, Solution Architect
Advertisements

Business Development Suit Presented by Thomas Mathews.
Kentico CMS 5.5 R2 What’s New. Highlights Intranet Solution Document management package – WebDAV support – Project & task management – Document libraries.
Intro to SharePoint 2013 Architecture Liam Cleary.
Eralp Erat Senior Software Developer MCP,MCAD.NET,MCSD.NET.
Randy Williams, MOSS MVP Senior Consultant Synergy Corporate Technologies.
Implementing enterprise governance can sometimes feel like trying to corral an exuberant crowd.
Turners SharePoint Web Site How we did it. 2 Page Anatomy Custom Search Web Part Custom Search Web Part Data Form Web Parts Content Query Web Part HTML.
Maintaining and Updating Windows Server 2008
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Virtual techdays INDIA │ august 2010 Building ASP.NET applications using SQL Server Compact Chaitanya Solapurkar │ Partner Technical Consultant,
Kentico CMS 5.0 Full-featured Flexible Web Content Management System for All Your Needs.
Sitefinity Performance and Architecture
Sharepoint Portal Server Basics. Introduction Sharepoint server belongs to Microsoft family of servers Integrated suite of server capabilities Hosted.
Global Windows Azure Bootcamp Auckland March
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Update your servers to service pack 2. Ensure that the environment is fully functioning. Migrate to 64 bit servers is necessary. REVIEW UPGRADE BEST PRACTICES.
Performance Mistakes In Kentico 7/18/2012Miro Remias, Solution Architect.
Introduction to SharePoint Development with VS2010 Paul Yuknewicz Lead Program Manager
JourneyTEAM - – Tales From The Field: 2010 to 2013 Upgrade Horror Stories and How to Avoid Creating a Horror of Your Own.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Module 10 Configuring and Managing Storage Technologies.
DotNetNuke v4 on ASP.NET v2 Stan Schultes Stan Schultes Enterprise architect / application developer Enterprise architect / application developer Conference.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Classroom User Training June 29, 2005 Presented by:
Database Design for DNN Developers Sebastian Leupold.
What’s New in Sage SalesLogix V Release Overview Sage SalesLogix v7.5.2 focuses on: −User Enhancements streamline the user experience furthering.
Real World Examples – Part II 7/26/2013Miro Remias, Sr. Solution Architect.
Building Highly Scalable Websites Karol Jarkovsky Sr. Solution Architect
DEV-2: Making OpenEdge ® Architect Work For You David Lund Product Readiness.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
Sustainable SharePoint 2010 Customizations By Bill Keys.
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Module 13 Implementing Business Continuity. Module Overview Protecting and Recovering Content Working with Backup and Restore for Disaster Recovery Implementing.

What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Partners’ Webinar 01/31/2013 Karol Jarkovsky Solution Architect Upgrading Kentico.
Module 7 Planning and Deploying Messaging Compliance.
Module 4 Planning for Group Policy. Module Overview Planning Group Policy Application Planning Group Policy Processing Planning the Management of Group.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
VERSION 12.5 HIHGLIGHTS Lead Developer - Rob Nikkel.
Module 6: Configuring User Environments Using Group Policies.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
A2: Making OpenEdge ® Architect Work For You Susan Houniet Senior Solution Consultant.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
SQL SERVER AUDITING. Jean Joseph DBA/Consultant Contact Info: Blog:
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
Developer Exam Preparation Thom Robbins Bryan Soltis
Dynamics Tech Conference 2015 PART 1. Dynamics R3 CU8 Retail warehouse Built-in modules for warehouse efficiency License plating.
Sitecore.net Training, Oct ECM 2.1 UPDATE 2 PART 1 CRAWL BEFORE YOU WALK.
Using the Kentico CMS API Thom Robbins Bryan Soltis
Discover Unlimited Website Possibilities Prague, October 18-20, 2010.
E2G Web Services E2G Scripts and Methods E2G Domain Logic E2G Domain Logic Client Custom Scripts and Methods Client Custom Scripts and Methods E2G Rules.
Maintaining and Updating Windows Server 2008 Lesson 8.
Kentico CMS Deliver Now! Methodology Karol Jarkovsky Consultant, Kentico Software s.r.o.
1 Middle East Users Group 2008 Self-Service Engine & Process Rules Engine Presented by: Ryan Flemming Friday 11th at 9am - 9:45 am.
Microsoft Dynamics NAV Microsoft Dynamics NAV managed service for partners, under the hood Dmitry Chadayev Corporate Vice President, Microsoft.
Upgrade & Patching of Kentico CMS …without any much pain.
Cms Full-featured Flexible Web Content Management System for All Your Needs.
Microsoft SharePoint Server 2016
Migration to SharePoint 2013
Introduction of Week 3 Assignment Discussion
PSC Group, LLc Office 365/SharePoint Online Migration traps and tricks
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Mark Quirk Head of Technology Developer & Platform Group
9/8/ :03 PM © 2006 Microsoft Corporation. All rights reserved.
Presentation transcript:

Development In Kentico 7 11/23/2012 Miro Remias, Solution Architect

Did You Find Yourself In Situation Like This? Exception after upgrade/hotfix Solution? Web site is slow Server is not responding We are losing clients/money I don’t have enough time How can I deliver more in less time? There is always something to improve Proper design NOT affect/destroy the system CONTEXT of implementation/customization Efficient solution/work Performance & Optimization GET familiar with the system TAKE advantage of built-in features/functionality SIMPLIFY work of user & developer NOTE: Performance mistakes webinar

Kentico Developer – Task Processing DIAGRAM KENTICO RESOURCES DEVELOPER TASK Documentation KB FAQ Blog post ANALYSIS HOW? QUESTIONS OPTIONS / IDEAS Consulting Support CONTEXT Forums ? USE / DEPLOYMENT TESTING DEVELOPMENT

Development – Task Implementation Document Content Rating Kentico Options Content Rating Module On-line Forms Module Custom Tables Module DocumentCustomData (XML) column of Document Combination (?) -> proper/efficient/optimized implementation? [DEPENDS] Other Option(s) Custom implementation / logic / code [requires extra time] 3rd party component(s)

Task Implementation [DEMO] (Content Rating) Content Rating Module Documentation – simple document rating, CMS_Document table DocumentRatingValue [Rating value] DocumentRatings [Number of ratings] Questions DATA Can I extend the CMS_Document (system) table using custom fields? What is the deal with the “knowledgeable” checkbox? I need content rating records per ‘user’ and ‘document’? CODE Can I extend the (built-in/system) ‘Content rating’ web part?

Task Implementation [DEMO] (Online Forms) On-line Forms Module Documentation - configured/customized forms Implementation DATA ONE record on DB level per EACH submission Each FORM CONTROL is represented as separate COLUMN on DB level HOW do I connect DOCUMENT and FORM? CMS_Document DocumentID vs. DocumentGUID CODE Built-in web part, form controls HOW do I DISPLAY the RESULTS/RATING? Repeater with custom query web part Questions [CONTEXT CONSIDERATION] Will this implementation work with documents of any type? What about the multi-lingual web site feature? (‘en-us’ vs. ‘cs-cz’) Will the data be synchronized with other environments? (import/export, staging) Is this solution optimized? Extendibility, Performance, Usability? ONLINE FORM

Task Implementation [DEMO] (Online Forms) Questions [CONTEXT CONSIDERATION] Performance? Displaying/listing results/rating? Cache the results Optimize the SQL query / logic 1k users, 1k documents, 2 cultures Customization possibilities for online forms? Form handlers (OnBeforeSave etc.) Kentico API ONE record per ONE document (max.2k) HOW? NOTE: Form Engine webinar ONLINE FORM DATA RATING RESULTS

Task Implementation [DEMO] (Custom Tables) Custom Tables Forms Module Documentation - configured/customized tables Implementation DATA < similar to On-line forms implementation > CODE NO built-in web part for generating form CUSTOM available on Marketplace NO e-mail notification NO support for uploading files Content staging synchronization Questions [CONTEXT CONSIDERATION] Will the data be synchronized with other environments? (import/export, staging) Is this solution optimized? Extendibility, Performance, Usability? CUSTOM TABLE FORM

Task Implementation [DEMO] (DocumentCustomData) DocumentCustomData (CMS_Document table) Column for holding custom data (XML) API: CustomData class Best way of storing extra data on document level Supported by Import/Export Content staging Implementation DATA Data (XML) is stored in CMS_Document table CODE Form defined/generated by ‘custom table’ Submitted record is (NOT) saved? HOW do I DISPLAY the RESULTS/RATING? k# and TEXT/XML transformation CurrentDocument.DocumentCustomData Questions [CONTEXT CONSIDERATION] Will the data be synchronized with other environments? (import/export, staging) Is this solution optimized? Extendibility, Performance, Usability? NOTE: Think about - Logic (manageable by editors), Performance, Upgrade/Hotfix, other related modules (e.g. content staging , import/export etc.) CUSTOM TABLE FORM DOCUMENT TABLE <customdata> <trustworthy>19</trustworthy> <wellwritten>17</wellwritten> <documentratings>5</documentratings> <objective>10</objective> <complete>13</complete> </customdata>

Before Development Requirements, Analysis & Design [Kentico Deliver NOW Methodology] Am I "also" targeting mobile devices/development? What is the structure of the web site? What options do I have when migrating the existing web site into Kentico? Product Road Map Marketplace (web parts, web templates, integrations etc.) Which development model to use (Portal Engine, ASPX, Mixed, MVC) Environment setup (LIVE: shared hosting, dedicated, cloud [azure], web farm etc.) Trust level (Full vs. Medium [Custom]) Where to keep files (Content Tree , Media library, Unmanaged, CDN, amazon s3, azure, etc.) Type of a projects (web site, web application, windows azure) Development for Azure web site -> Azure SQL DB blob storage (CDN) -> AZURE web site to Azure project web site -> MS SQL DB SQL to SQL Azure

Development Environment (DEV) Web Farm Synchronization, purpose? (Cache, Files[uploaded by UI, NOT web part files etc.]) A.) At the end of each request (default) B.) Scheduled task [custom interval] C.) Database updater (from 6.0.21) [interval 1s] Developer A Developer B Developer A Developer B Source control Server (TFS) Source control Server (TFS) 2. 1. 3. 1. 2. DB DB

Development - Page Processing Page processing features wireframing -> HTML TEAM object /document locking [check in/out] (document, page template) object versioning (e.g.: CSS and transformations) virtual objects on a FS under source control application (SVN etc.) object cloning (form, custom table etc.) use relative links with "~/" (Output filter – web site vs. web part level) "fast" vs. "proper" design layout web parts editable region vs. layout HTML code “preview“ mode mobile development (device profiles, device layouts, device detection, etc.) validation tools (HTML, CSS, Link checked, Accessibility) SEO (settings, code [transformation]) NOTE: Define naming convention (web part, doc. type etc.)

Development Think about Backup of DB and PF on daily basis (site export is not valid backup) Use separate user accounts, NOT ONE/SHARED user account! Be aware when deleting objects/documents (recycle bin, check object assignment [page template]) Get familiar with project folder structure (where to keep custom files?) Custom code - will it work in other environments? Use "CMS.IO" for file system operations rather than "System.IO" Pay attention to session (eliminate if possible) Full vs. Medium trust Disable caching! Is the code optimized? Pull the data at once Data should be cached wherever it makes sense Use built-in debugging tools (use other tools: SQL profiler, Memory profiler(s) etc.) Take advantage of Kentico API (DO NOT use it blindly) Check the “Event log", fix any issues Pay attention to security Test all possible scenarios Do a load (performance) test before you go live

Customization, Migration, Integration Customization options Custom web part/widget, form control, payment gateway, etc. Make a copy/clone of the existing one Different life cycle ("User control" web part -> Telerik etc.) Global event handlers (INSERT/UPDATE/DELETE etc. triggers for custom code) Custom providers (way of changing the logic of built-in providers and their methods) Others … Migration options Import toolkit (data from (MS SQL, XML, CSV, XLSX) as objects/documents Kentico API (API Examples section) CUSTOM SQL script / code Integration options REST (INSERT, UPDATE, DELETE) Integration bus Using Kenico API / controls outside of Kentico Custom security handler Custom scheduled task(s) run in context of the web site or as windows service (better performance) windows service: need to update references and rebuild the project (DLL) web site context: no need to rebuild[*] (App_Code) HOW TO integrate with ANOTHER system? CRM Connectivity? Real-time? One/Two way synch?

On-going Development Deployment (DEV -> STG -> PRO) staging, import/export (be EXTREMLY careful - you can overwrite anything) DEV environment is using the SAME build/hotfix number as PRO Backup of the PRO DB to DEV (get REAL DATA from PRO once in a time) Bi-directional staging (PRO -> DEV) Depending on the environment, you can also develop/test on the LIVE site (DEV -> PRO) Create “Test” folder/section exclude from navigation & smart search & listing web parts disable OM activities on such pages setup security if needed use the naming convention in place, e.g. "Test_"

Upgrade & Hotfix Facts One major version per year [ service pack(s) ] - check ROADMAP 7-day hotfix policy STOP web site when applying hotfix/upgrade KIM (Kentico Installation Manager) Download & apply hotfix/upgrade READ the instructions and follow them to a T (AND verify , e.g.: 3.1a -> 4.0) CANNOT be applied over pre-compiled web site HAVE backup of the web site (DB + PF) TEST the hotfix/upgrade first in local environment, be PREPARED How can I apply hotfix/upgrade on the LIVE site with minimal downtime? DO NOT CUSTOMIZE system SQL queries, stored procedures, views, files etc. Preparation for upgrade/hotfix starts during the design/development stage, What can be changed with the Upgrade/Hotfix? Can I customize built-in document type, system table (e.g. CMS_User) etc.? What does the package contain? SQL script (?) Files (?) new Kentico dll files with each hotfix/upgrade provide custom code from App_Code

Upgrade & Hotfix Upgrade NOT cumulative (5.0 -> 5.5 -> 5.5R2 etc.) Post-upgrade code executed first time application starts (+ import package) Check NEW system requirements (SQL, .NET etc.) You can APPLY it only ONCE API CHANGES (custom files, transformations, k# code, web part layouts etc.) DO NOT use obsolete methods Hotfix Latest hotfix package contains fix of all previous packages The hotfix is not tested for all possible scenarios NO NEED to apply frequently unless you run into some issues (bug) Can be executed any number of times

Summary GET familiar with Kentico Project folder structure Customization options API DO NOT MODIFY system related objects (FS, DB) ANALYZE & CONSULT the solution Consider the CONTEXT & ENVIRONMENT Take advantage of BUILT-IN functionality / features as much as possible TEST & OPTIMIZE the design Kentico Consulting Services Ad-hoc Consulting Performance & Health Audit Upgrade Audit Upgrade Protection Plan Solution Upgrade

Contact Miro Remias e-mail: miro@kentico.com consulting: http://www.kentico.com/Support/Consulting/Overview