Miro Remias Solution architect Kentico software

Slides:



Advertisements
Similar presentations
Micro Control Solutions Stability System II rev. 6.4
Advertisements

Built-in Kentico CMS UI Controls
Little Used, but Powerful Features with GP Cathy Fregelette, CPA, PMP Practice Manager BroadPoint Technologies September 20, 2012.
MS-Access XP Lesson 1. Introduction to MS-Access Database Management System Software (DBMS) Store data in databases Database is a collection of table.
Universal event handling for components in Kentico CMS
Built-in Kentico CMS UI Controls
Microsoft Office ® Access 2007 Microsoft Office Access 2007: Introduzione allo sviluppo Fabio Santini.NET Developer Evangelist Microsoft Italy.
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
Make your choice from more than 70 templates to get a quick start online!70 templates.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
Introduction KWizCom Business Card Founded in 2005 Headquartered in Toronto Global provider of add-ons and services customers worldwide Business.
Data source and filter controls
Web Content Management System Website Maintenance Demonstration Introduction to Macromedia Contribute Jamie Uprichard.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Introduction To Form Builder
SiS Technical Training Development Track Technical Training(s) Day 1 – Day 2.
Developing Custom Payment Gateway
Tutorial 11: Connecting to External Data
Kentico CMS 5.0 Full-featured Flexible Web Content Management System for All Your Needs.
COMPREHENSIVE Excel Tutorial 8 Developing an Excel Application.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
© 2012 Boise State University1 WordPress Training February 14, 2013.
Training Course 2 User Module Training Course 3 Data Administration Module Session 1 Orientation Session 2 User Interface Session 3 Database Administration.
Web parts for SharePoint. What’s a web part? Application that can be added to a page with a web part zone. Inhierits from web controls Can be developed.
LATTICE TECHNOLOGY, INC. For Version 10.0 and later XVL Web Master Advanced Tutorial For Version 10.0 and later.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Web Technologies Website Development Trade & Industrial Education
Partners’ Webinar 10/25/2012 Karol Jarkovsky Solution Architect E-commerce Scenarios.
Automating Tasks with Visual Basic. Introduction  When can’t find a readymade macro action that does the job you want, you can use Visual Basic code.
© 2012 Boise State University1 WordPress Training February 14, 2013.
DIGIT Directorate-General for Informatics DIGIT Directorate-General for Informatics EUSURVEY Creating online surveys DIGIT EUSURVEY SUPPORT.
Creating a Web Site to Gather Data and Conduct Research.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Digital Filing A Simple Way to Digitally Centralize and Distribute Documents.
Press Esc to Exit ©2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in.
Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition Lesson 24 Managing and Reporting Database Information 1 Morrison / Wells / Ruffolo.
1. To start the process, Warehouse Stationery (WSL) will invite you to use The Warehouse Group Supplier Electronic Portal and will send you the link to.
Advanced FrontPage Forms, Page Templates and Wizards, Behaviors, CSS, DWT and Page Layout.
HOME EVIDENCE EXECUTION MICROSOFT SOLUTIONS SERVICES PARTNERS Custom Field Controls and SharePoint Web Content Management Chakkaradeep Chandran Robert.
12 Developing a Web Site Section 12.1 Discuss the functions of a Web site Compare and contrast style sheets Apply cascading style sheets (CSS) to a Web.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Customizing ClientSpace With Dataforms Tim Borntreger, Director of Client Services.
Sofia, Bulgaria | 9-10 October ASP.NET: Developing Portal UI With Web Parts Goksin Bakir Yage Ltd Microsoft Regional Director, MEA Goksin Bakir Yage Ltd.
1 EndNote X2 Your Bibliographic Management Tool 29 September 2009 Humanities and Social Sciences Resource Teams.
Tim Borntreger, Director of Client Service. Agenda  Introduction to Dataforms  Adding & Editing Dataforms  Adding & Editing Dataform Fields  Questions.
Architecture Multi Layered Architecture (n-tier): Application: Model Controllers Database Access Graphical User Interface (GUI): Forms, components, controls.
WaveMaker Visual AJAX Studio 4.0 Training Java Script Events.
6 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Creating RTF Templates by Using Template Builder.
Forms Manager. What is Forms Manager? Forms Manager is a completely new online form creation and form data management tool.
Developer Exam Preparation Thom Robbins Bryan Soltis
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Using the Kentico CMS API Thom Robbins Bryan Soltis
E-commerce customization Petr Vozak, Technical Leader.
Excel Tutorial 8 Developing an Excel Application
Los Angeles Unified School District
Cms Full-featured Flexible Web Content Management System for All Your Needs.
Weebly Elements, Continued
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
User experience Framework
LMEvents SharePoint Portal How-to Guide
AssetWise Training Series
B2B Portal Training Materials
(Includes setup) FAQ ON DOCUMENTS (Includes setup)
INTAKE OF NEW PORTFOLIO AND INVOICES
Consult America Technology Consulting Services
3.00 Understanding the Adobe Dreamweaver interface. (12%)
B2B Portal Training Materials
(Includes setup) FAQ ON DOCUMENTS (Includes setup)
REDCap External Modules
Presentation transcript:

Miro Remias Solution architect Kentico software mirekr@kentico.com Form Engine Miro Remias Solution architect Kentico software mirekr@kentico.com

Agenda Introduction How does it work? Architecture (API, database) Customization options Code examples

Introduction Allows users to create forms and manage data (insert/update) Built-in and custom form controls Input validation Custom form layout (Alternative forms) Where can you find examples of form engine? On-line forms (BizForm) Forms for documents (CMSForm) Forms for web-part properties (BasicForm) Forms for system tables (DataForm) Forms for custom tables (CustomTableForm)

How does it work? Field editor Form Form definition Data Field editor - \CMSModules\AdminControls\Controls\Class\FieldEditor.ascx

Architecture – overview Database tables: CMS_Class ClassFormDefinition – form definition (Example 1) ClassTableName – table where data is stored ClassIsCustomTable, ClassShowAsSystemTable – custom table/system table flag ClassFormLayout – form layout … CMS_AlternativeForm FormDefinition FormLayout CMS_Form CMS_FormUserControl API support (http://devnet.kentico.com/downloads/kenticocms_api.zip): CMS.FormControls: BasicForm, BizForm, CMSForm, CustomTableForm, DataForm, FormEngineUserControl, EditingFormControl … CMS.FormEngine: FormInfo, FormFieldInfo, AlternativeFormInfo, AlternativeFormInfoProvider, BizFormInfo, BizFormInfoProvider …

Architecture - BasicForm Renders form from it’s definition Creates form layout with labels, fields, error labels, categories, … Manages field initialization, validation and gathers entered data Form error label Field category Field label Field error label BizForm CMSForm DataForm CustomTableForm Form control Submit button (image) BasicForm

Architecture - BasicForm (2) BasicForm (API) (Example 2) Properties: Mode (FormModeEnum - Insert, Update, InsertNewCultureVersion) FormInformation (FormInfo) FormLayout (string) FormXML (string) DataRow (DataRow) FieldLabels (Hashtable) FieldControls (Hashtable) FieldEditingControls (Hashtable) FieldErrorLabels (Hashtable) SiteName (string) SubmitButton (Button) SubmitImageButton (ImageButton) UseColonBehindLabel (bool) EditedObject (object) TreeNode (CMSForm) IDataClass (BizForm and CustomTableForm) AbstractInfo or DataClassInfo (DataForm) ParentObject (object) - insert mode, TreeNode AllowMacroEditing (bool) DefaultFormLayout (FormLayoutEnum) RenderCategoryList (bool) MarkRequiredFields (bool) Methods: LoadData(void: DataRow) LoadFormLayout(void: formLayout, FormInfo) LoadDefaultLayout(void: FormInfo ) CreateEditingFormControl(Control: FormFieldInfo) SaveData(void: redirectUrlAfterSave) ValidateData(bool)

Architecture - Form layout Supported macro types in form layout: $$label:<FieldName>$$ $$input:<FieldName>$$ $$validation:<FieldName>$$ $$visibility: <FieldName>$$ $$submitbutton$$

Architecture - Form controls Allow you to use custom field types in editing forms (http://devnet.kentico.com/docs/devguide/developing_form_controls.htm) Register in Site Manager -> Development -> Form controls FormFieldInfo (API) Name (column) Caption (fieldcaption) Visible (visible) Enabled (enabled) AllowEmpty (allowempty) PrimaryKey (isPK) … DataType (columntype) -FormFieldDataTypeEnum (Text, LongText, Integer, Decimal, DateTime, Boolean, File, GUID ... ) FieldType (fieldtype) - FormFieldControlTypeEnum (LabelControl, TextBoxControl, DropDownListControl, RadioButtonsControl, MultipleChoiceControl, ...) ClassFormDefinition (CMS_Class table): <form> <field column="ContactUsID" fieldcaption="ContactUsID" visible="false" columntype="integer" fieldtype="label" allowempty="false" isPK="true" system="true" publicfield="false" spellcheck="true" guid="ba75b40f-edf6-434f-aa19-15ea8413e407" visibility="none" ismacro="false" /> ... <field column="Email" fieldcaption="E-mail" visible="true" columntype="text" fieldtype="usercontrol" allowempty="false" isPK="false" system="false" columnsize="100" publicfield="true" spellcheck="true" guid="877dc000-111b-4379-938c-6386557719aa"> <settings> <controlname>emailinput</controlname> </settings> </field> </form>

Architecture - Form controls (2) FormEngineUserControl (API) (Example 3) Properties: Form (BasicForm) FieldInfo (FormFieldInfo) FormControlParameter (object) Value (object) Enabled (bool) DataDR (DataRow) Methods: IsValid (bool) GetOtherValues (object[,] AttributeName/Value) Working with other fields from form control: TextBox txtBox = (TextBox) Form.FieldControls["productprice"]; EditingFormControl (API) DataRow (DataRow) IsMacro (bool) DataRowValue (object) CreateControl(Control : FormFieldInfo) EditingFormControl txtBox = (EditingFormControl) Form.FieldEditingControls["productprice"];

Architecture – CMSForm Creation and editing of documents Adds ‘Publish from/to’ and ‘Document name’ fields (optional) Handles content tree hierarchy for blogs (insert mode) Uploaded files stored in DB and/or file system as an attachments CMSForm (API) (Example 4) Properties: BasicForm (BasicForm) NodeId (int) FormName (string) - cms.news.default AlternativeFormFullName (string) – cms.user.editform FormMode (FormModeEnum - Insert, Update, InsertNewCultureVersion) SiteName (string) CultureCode (string) Methods: LoadForm(void) Save (TreeNode) SaveDataToDB(void)

Architecture – CMSForm (2) CMSForm life cycle - first load: Page CMSForm BasicForm EditingFormControl TextBoxControl OnInit OnLoad OnPreRender CreateChildControls LoadForm [Controls.Add(BasicForm)] OnLoad (EnsureChildControls) LoadData Addition of one EFC [Controls.Add(EFC)]   EnsureControls (EnsureChildControls) {SetValue} [Controls.Add(FC)] Page_Load

Architecture – CMSForm (3) CMSForm life cycle - postback: Page CMSForm BasicForm EditingFormControl TextBoxControl OnInit CreateChildControls LoadForm [Controls.Add(BasicForm)] LoadData Addition of one EFC [Controls.Add(EFC)]   EnsureControls (EnsureChildControls) {SetValue} [Controls.Add(FC)] OnLoad Page_Load btnSave_Click ValidateData {GetValue} IsValid Save SaveData SaveDataToDB OnPreRender

Architecture – BizForm Used for online form creation (most frequently used module) Data stored in separate DB table (also CMS_Form) Uploaded files stored in file system (exclusively) Data managed through the UI, could be sent via e-mail (notification and auto-responder) or exported to MS Excel file (http://devnet.kentico.com/docs/devguide/bizforms_module_overview.htm) BizForm(API) (example) Properties: BasicForm (BasicForm) FormMode (FormModeEnum - Insert, Update) FormName (string) - bizfrom.contactus.default ItemID (int) AlternativeFormFullName (string) – bizfrom.contactus.layout1 SiteName (string) UseColonBehindLabel (bool) EnableNotificationEmail (bool) EnableAutoresponder (bool) Methods: LoadForm(void) SaveDataToDB(void) SendNotificationEmail (void) SendConfirmationEmail (void)

Architecture – DataForm and CustomTableForm common form controls to edit data from system/custom tables (http://devnet.kentico.com/docs/devguide/custom_tables_module_overview.htm) uploaded files stored in file system DataForm / CustomTableForm (API) (Example 5) Properties: BasicForm (BasicForm) ClassName (string) ItemID (int) CustomTableId (int) Info (AbstractInfo) - usable instead of ClassName and ItemID AlternativeFormFullName (string) – cms.user.editform FormMode (FormModeEnum - Insert, Update) SiteName (string) Methods: ReloadData (void) LoadForm(void) Save (bool) + OnAferSave handler SaveDataToDB(void)

Customization options Control event handlers (): OnBefore(After)DataLoad, OnBefore(After)Validate, OnBefore(After)Save, OnValidationFailed, OnItemValidation, OnUploadFile, OnDeleteFile, … Global data handlers (http://devnet.kentico.com/docs/devguide/data_handler.htm): OnBefore(After)Update, OnBefore(After)Insert, OnBefore(After)Delete, OnGetContent Custom Field (Form) controls

? Questions FAQ – http://devnet.kentico.com/FAQs.aspx KB - http://devnet.kentico.com/Knowledge-Base.aspx Documentation - http://devnet.kentico.com/Documentation.aspx Technical support - http://www.kentico.com/Support.aspx (support@kentico.com)

Thank you! Miro Remias mirekr@kentico.com Solution architect Kentico software