SlideShare a Scribd company logo
BEXIS Tech Talk Series
#8: Implementation Notes
Javad Chamanara
January 2017
Jena, Germany
Reminder
• Tech Talk 5: BExIS Extensibility
2BEXIS Tech Talk #8: Implementation Notes
Modules
• What is a module?
A module is a set of related user facing
functions, operating from inside the BExIS shell
3BEXIS Tech Talk #8: Implementation Notes
Module Development
Consideration
• ASP.NET MVC 5
• Plug-ability
– Independent development, testing, publishing
– Online deployment
• Shell Integration
– Menu integration
– State Management
4BEXIS Tech Talk #8: Implementation Notes
Module Anatomy
• UI project:
– Entry points
– Controllers, Models, Views
– Manifest file
• Menus, dependencies, identification
• Services
• Data Access
5BEXIS Tech Talk #8: Implementation Notes
Module Anatomy
• Bootstrapping
– Install
– Uninstall
• State Management
– Start
– Shutdown
– Activate
– InActivate
6BEXIS Tech Talk #8: Implementation Notes
Module Development Recipe
• 1: Defines the required names
– <moduleID>: usually a three letter abbreviation of your
module name
– <Affiliation>: the institute that owns the module
– <projectName>: <Affiliation>.Modules.<moduleID>
– <projectCode>: <projectName>.UI
7BEXIS Tech Talk #8: Implementation Notes
Create the UI project
• From scratch:
– Read the “Module Development Recipes” doc
• From a template
– Follow up
8BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Copy “Module.Template” folder to the Areas folder
– The template is in the “Repo/Code/Templates”
folder
– Replace the name with actual <moduleID>
– Remove the tailing “Template” token
9BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Inside the folder, rename:
– *.csproj to <projectCode>.csproj
– *.csproj.user to <projectCode>.csproj.user
10BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• In the VS Solution explorer, at solution’s root
• Create the “Modules” folder in does not exists
• Create a <moduleID> folder under the “Modules” folder.
11BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Add Existing Project
• <projectCode> from the Areas/<moduleId>
• To solution/Modules/<moduleID>
• Via “Add Existing Project”.
12BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• From inside VS, rename the followings:
– ModuleIDModule.cs to <moduleID>Module.cs
– ModuleID.Manifest.xml to
<moduleID>.Manifest.xml
13BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Edit the <moduleID>Module.cs
– Update the namespace to <projectCode>
– Update the class name to <moduleID>Module
– Pass <moduleID> to the base constructor
14BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Edit /Views/web.config
–Edit <add namespace="Template.UI" /> to <add
namespace="<projectCode>" />
15BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Edit the module manifest
• Change the moduleId from “Template” to <moduleID>
• Update other attributes and elements
16BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Develop designated features
– Controllers/ Actions
– Views
17BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Shell publishing does not include the module
18BEXIS Tech Talk #8: Implementation Notes
Create a Module from a Template
• Publish the module
19BEXIS Tech Talk #8: Implementation Notes
The Manifest File
20BEXIS Tech Talk #8: Implementation Notes
The Manifest File: Dependencies
21BEXIS Tech Talk #8: Implementation Notes
• Must be installed and active
• Required version is checked against available
one
The Manifest File: Exports
• Publicly accessible module features
• Plugged into the menu structure
• Document order is preserved
– Also catalog order
22BEXIS Tech Talk #8: Implementation Notes
The Manifest File: Exports
• Id: export port id for path/hierarchy building
• Title: as menu label
• Description: as tooltip
• Controller: the controller name
• Action: the action name
• Argument: If the action has a parameter
• Extends: The injection point in the menu
structure
23BEXIS Tech Talk #8: Implementation Notes
Module Publishing
• Shell is already published
• Areas folder does not include the module
• Publish the module into a folder
• Create a zip bundle
24BEXIS Tech Talk #8: Implementation Notes
Module Registration
• Method 1:
– Update Modules.Catalog.xml
– Create the <moduleID>folder under Shell/Areas
– Unzip the module zip file into the folder
• Method 2:
– Use the SAM’s registration feature
25BEXIS Tech Talk #8: Implementation Notes
Module Management
26BEXIS Tech Talk #8: Implementation Notes
Documents
• Module Development Recipes
• Naming Conventions
• DLM API docs
27BEXIS Tech Talk #8: Implementation Notes
Outlook
What‘s next in the talk series?
Nothing
BEXIS Tech Talk #7: Configuration and
Change Management
28
29
Thanks!
Questions?
Contact:
javad.chamanara@uni-jena.de
http://bexis2.uni-jena.de
Acknowledgment
BEXIS Tech Talk #8: Implementation Notes 29

More Related Content

What's hot

Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016
Serena Software
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013
Mahmoud Samara
 
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Serena Software
 
Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)
Serena Software
 
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAWikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
zAgile
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
Rajnish Chauhan
 
Jira
JiraJira
Scrum and TFS
Scrum and TFSScrum and TFS
Scrum and TFS
Nishanth K Hydru
 
JIRA System Admin Traning
JIRA System Admin Traning JIRA System Admin Traning
JIRA System Admin Traning
Cprime
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data
Nandana Mihindukulasooriya
 
What's new in SBM 11.1
What's new in SBM 11.1What's new in SBM 11.1
What's new in SBM 11.1
Serena Software
 
Concurrent Product Release Planning with JIRA
Concurrent Product Release Planning with JIRAConcurrent Product Release Planning with JIRA
Concurrent Product Release Planning with JIRA
Atlassian
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Aspenware
 
Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and Deploy
Serena Software
 
JCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle ManagementJCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle Management
Ambientia
 
Agile Software Development with JIRA and Confluence
Agile Software Development with JIRA and ConfluenceAgile Software Development with JIRA and Confluence
Agile Software Development with JIRA and Confluence
Anand Kumar
 
Dimensions RM: Agile Requirements Management
Dimensions RM: Agile Requirements ManagementDimensions RM: Agile Requirements Management
Dimensions RM: Agile Requirements Management
Serena Software
 
DevOps - Right Tool for Right Phase
DevOps - Right Tool for Right PhaseDevOps - Right Tool for Right Phase
DevOps - Right Tool for Right Phase
Dalibor Blazevic
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Aspenware
 
Why source control your Oracle Database?
Why source control your Oracle Database?Why source control your Oracle Database?
Why source control your Oracle Database?
Red Gate Software
 

What's hot (20)

Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013
 
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
 
Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)
 
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAWikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 
Jira
JiraJira
Jira
 
Scrum and TFS
Scrum and TFSScrum and TFS
Scrum and TFS
 
JIRA System Admin Traning
JIRA System Admin Traning JIRA System Admin Traning
JIRA System Admin Traning
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data
 
What's new in SBM 11.1
What's new in SBM 11.1What's new in SBM 11.1
What's new in SBM 11.1
 
Concurrent Product Release Planning with JIRA
Concurrent Product Release Planning with JIRAConcurrent Product Release Planning with JIRA
Concurrent Product Release Planning with JIRA
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
 
Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and Deploy
 
JCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle ManagementJCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle Management
 
Agile Software Development with JIRA and Confluence
Agile Software Development with JIRA and ConfluenceAgile Software Development with JIRA and Confluence
Agile Software Development with JIRA and Confluence
 
Dimensions RM: Agile Requirements Management
Dimensions RM: Agile Requirements ManagementDimensions RM: Agile Requirements Management
Dimensions RM: Agile Requirements Management
 
DevOps - Right Tool for Right Phase
DevOps - Right Tool for Right PhaseDevOps - Right Tool for Right Phase
DevOps - Right Tool for Right Phase
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
 
Why source control your Oracle Database?
Why source control your Oracle Database?Why source control your Oracle Database?
Why source control your Oracle Database?
 

Viewers also liked

6 The UI Structure and The Web API
6 The UI Structure and The Web API6 The UI Structure and The Web API
6 The UI Structure and The Web API
javadch
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party libraries
javadch
 
5 BExIS Extensibility
5 BExIS Extensibility5 BExIS Extensibility
5 BExIS Extensibility
Javad Chamanara
 
7 Source Control and Release Management
7 Source Control and Release Management7 Source Control and Release Management
7 Source Control and Release Management
javadch
 
Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0
Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0
Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0
Claudio Carnevali
 
Flyport GPRS programmer's guide 2.3 rev1.0
Flyport GPRS programmer's guide 2.3   rev1.0Flyport GPRS programmer's guide 2.3   rev1.0
Flyport GPRS programmer's guide 2.3 rev1.0
Claudio Carnevali
 
Flyport IDE 2.2 user guide - rev1.0
Flyport IDE 2.2  user guide - rev1.0Flyport IDE 2.2  user guide - rev1.0
Flyport IDE 2.2 user guide - rev1.0
Claudio Carnevali
 
5 BEXIS Extensibility
5 BEXIS Extensibility5 BEXIS Extensibility
5 BEXIS Extensibility
javadch
 
Teresa Parent
Teresa ParentTeresa Parent
Teresa Parent
paren1tl
 
Teresa Parent
Teresa ParentTeresa Parent
Teresa Parent
paren1tl
 
Procedure
ProcedureProcedure
Procedure
Ahmad Nauval
 
RELOVE
RELOVERELOVE
RELOVE
RELOVE
 
How to Leverage Content to Increase Revenue
How to Leverage Content to Increase Revenue How to Leverage Content to Increase Revenue
How to Leverage Content to Increase Revenue
lpast
 
Added Value of Conceptual Modeling in Geosciences
Added Value of Conceptual Modeling in GeosciencesAdded Value of Conceptual Modeling in Geosciences
Added Value of Conceptual Modeling in Geosciences
javadch
 
3 the system architecture
3 the system architecture3 the system architecture
3 the system architecture
javadch
 
Research Data Management, BExIS Hands-On Workshop
Research Data Management, BExIS Hands-On WorkshopResearch Data Management, BExIS Hands-On Workshop
Research Data Management, BExIS Hands-On Workshop
javadch
 
ECMB12 Signia Project Presentation
ECMB12 Signia Project PresentationECMB12 Signia Project Presentation
ECMB12 Signia Project Presentation
Daniel Tse
 
Iomote - professional IoT and Industry 4.0 solutions
Iomote - professional IoT and Industry 4.0 solutionsIomote - professional IoT and Industry 4.0 solutions
Iomote - professional IoT and Industry 4.0 solutions
Claudio Carnevali
 

Viewers also liked (18)

6 The UI Structure and The Web API
6 The UI Structure and The Web API6 The UI Structure and The Web API
6 The UI Structure and The Web API
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party libraries
 
5 BExIS Extensibility
5 BExIS Extensibility5 BExIS Extensibility
5 BExIS Extensibility
 
7 Source Control and Release Management
7 Source Control and Release Management7 Source Control and Release Management
7 Source Control and Release Management
 
Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0
Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0
Flyport WiFi ETHERNET Programmer's guide 2.3 release 1.0
 
Flyport GPRS programmer's guide 2.3 rev1.0
Flyport GPRS programmer's guide 2.3   rev1.0Flyport GPRS programmer's guide 2.3   rev1.0
Flyport GPRS programmer's guide 2.3 rev1.0
 
Flyport IDE 2.2 user guide - rev1.0
Flyport IDE 2.2  user guide - rev1.0Flyport IDE 2.2  user guide - rev1.0
Flyport IDE 2.2 user guide - rev1.0
 
5 BEXIS Extensibility
5 BEXIS Extensibility5 BEXIS Extensibility
5 BEXIS Extensibility
 
Teresa Parent
Teresa ParentTeresa Parent
Teresa Parent
 
Teresa Parent
Teresa ParentTeresa Parent
Teresa Parent
 
Procedure
ProcedureProcedure
Procedure
 
RELOVE
RELOVERELOVE
RELOVE
 
How to Leverage Content to Increase Revenue
How to Leverage Content to Increase Revenue How to Leverage Content to Increase Revenue
How to Leverage Content to Increase Revenue
 
Added Value of Conceptual Modeling in Geosciences
Added Value of Conceptual Modeling in GeosciencesAdded Value of Conceptual Modeling in Geosciences
Added Value of Conceptual Modeling in Geosciences
 
3 the system architecture
3 the system architecture3 the system architecture
3 the system architecture
 
Research Data Management, BExIS Hands-On Workshop
Research Data Management, BExIS Hands-On WorkshopResearch Data Management, BExIS Hands-On Workshop
Research Data Management, BExIS Hands-On Workshop
 
ECMB12 Signia Project Presentation
ECMB12 Signia Project PresentationECMB12 Signia Project Presentation
ECMB12 Signia Project Presentation
 
Iomote - professional IoT and Industry 4.0 solutions
Iomote - professional IoT and Industry 4.0 solutionsIomote - professional IoT and Industry 4.0 solutions
Iomote - professional IoT and Industry 4.0 solutions
 

Similar to 8 implementation notes

Modular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireModular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter Bonfire
Jeff Fox
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
Anil Sagar
 
Web works hol
Web works holWeb works hol
Web works hol
momoahmedabad
 
Whats new in visual studio 2017
Whats new in visual studio 2017Whats new in visual studio 2017
Whats new in visual studio 2017
Md. Mahedee Hasan
 
NukeViet 5 introduction
NukeViet 5 introductionNukeViet 5 introduction
NukeViet 5 introduction
vinades
 
Intro to Drupal Module Developement
Intro to Drupal Module DevelopementIntro to Drupal Module Developement
Intro to Drupal Module Developement
Matt Mendonca
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
Sandeep Adwankar
 
(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop
Oren Novotny
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
Ortus Solutions, Corp
 
BackboneJS
BackboneJSBackboneJS
BackboneJS
Artemii Kravtsov
 
SharePoint - ACME Project
SharePoint - ACME ProjectSharePoint - ACME Project
SharePoint - ACME Project
Mauro_Sist
 
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpikeMyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
os890
 
Building foundations
Building foundationsBuilding foundations
Building foundations
Mitchell Matthews
 
DevHub 3 - Composer plus Magento
DevHub 3 - Composer plus MagentoDevHub 3 - Composer plus Magento
DevHub 3 - Composer plus Magento
Magento Dev
 
DITA Specialization: Tools for Visual Support
DITA Specialization: Tools for Visual SupportDITA Specialization: Tools for Visual Support
DITA Specialization: Tools for Visual Support
instinctools GmbH
 
A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0
Sarah Dutkiewicz
 
Why Upgrade to v8.6?
Why Upgrade to v8.6?Why Upgrade to v8.6?
Why Upgrade to v8.6?
BillCavaUs
 
Just the Facets, Ma'am
Just the Facets, Ma'amJust the Facets, Ma'am
Just the Facets, Ma'am
Teamstudio
 
CBDW2014 - ColdBox 4 Modules
CBDW2014 - ColdBox 4 ModulesCBDW2014 - ColdBox 4 Modules
CBDW2014 - ColdBox 4 Modules
Ortus Solutions, Corp
 
Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0
Sarah Dutkiewicz
 

Similar to 8 implementation notes (20)

Modular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireModular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter Bonfire
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
 
Web works hol
Web works holWeb works hol
Web works hol
 
Whats new in visual studio 2017
Whats new in visual studio 2017Whats new in visual studio 2017
Whats new in visual studio 2017
 
NukeViet 5 introduction
NukeViet 5 introductionNukeViet 5 introduction
NukeViet 5 introduction
 
Intro to Drupal Module Developement
Intro to Drupal Module DevelopementIntro to Drupal Module Developement
Intro to Drupal Module Developement
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
BackboneJS
BackboneJSBackboneJS
BackboneJS
 
SharePoint - ACME Project
SharePoint - ACME ProjectSharePoint - ACME Project
SharePoint - ACME Project
 
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpikeMyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
 
Building foundations
Building foundationsBuilding foundations
Building foundations
 
DevHub 3 - Composer plus Magento
DevHub 3 - Composer plus MagentoDevHub 3 - Composer plus Magento
DevHub 3 - Composer plus Magento
 
DITA Specialization: Tools for Visual Support
DITA Specialization: Tools for Visual SupportDITA Specialization: Tools for Visual Support
DITA Specialization: Tools for Visual Support
 
A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0
 
Why Upgrade to v8.6?
Why Upgrade to v8.6?Why Upgrade to v8.6?
Why Upgrade to v8.6?
 
Just the Facets, Ma'am
Just the Facets, Ma'amJust the Facets, Ma'am
Just the Facets, Ma'am
 
CBDW2014 - ColdBox 4 Modules
CBDW2014 - ColdBox 4 ModulesCBDW2014 - ColdBox 4 Modules
CBDW2014 - ColdBox 4 Modules
 
Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0
 

Recently uploaded

The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 

Recently uploaded (20)

The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 

8 implementation notes

  • 1. BEXIS Tech Talk Series #8: Implementation Notes Javad Chamanara January 2017 Jena, Germany
  • 2. Reminder • Tech Talk 5: BExIS Extensibility 2BEXIS Tech Talk #8: Implementation Notes
  • 3. Modules • What is a module? A module is a set of related user facing functions, operating from inside the BExIS shell 3BEXIS Tech Talk #8: Implementation Notes
  • 4. Module Development Consideration • ASP.NET MVC 5 • Plug-ability – Independent development, testing, publishing – Online deployment • Shell Integration – Menu integration – State Management 4BEXIS Tech Talk #8: Implementation Notes
  • 5. Module Anatomy • UI project: – Entry points – Controllers, Models, Views – Manifest file • Menus, dependencies, identification • Services • Data Access 5BEXIS Tech Talk #8: Implementation Notes
  • 6. Module Anatomy • Bootstrapping – Install – Uninstall • State Management – Start – Shutdown – Activate – InActivate 6BEXIS Tech Talk #8: Implementation Notes
  • 7. Module Development Recipe • 1: Defines the required names – <moduleID>: usually a three letter abbreviation of your module name – <Affiliation>: the institute that owns the module – <projectName>: <Affiliation>.Modules.<moduleID> – <projectCode>: <projectName>.UI 7BEXIS Tech Talk #8: Implementation Notes
  • 8. Create the UI project • From scratch: – Read the “Module Development Recipes” doc • From a template – Follow up 8BEXIS Tech Talk #8: Implementation Notes
  • 9. Create a Module from a Template • Copy “Module.Template” folder to the Areas folder – The template is in the “Repo/Code/Templates” folder – Replace the name with actual <moduleID> – Remove the tailing “Template” token 9BEXIS Tech Talk #8: Implementation Notes
  • 10. Create a Module from a Template • Inside the folder, rename: – *.csproj to <projectCode>.csproj – *.csproj.user to <projectCode>.csproj.user 10BEXIS Tech Talk #8: Implementation Notes
  • 11. Create a Module from a Template • In the VS Solution explorer, at solution’s root • Create the “Modules” folder in does not exists • Create a <moduleID> folder under the “Modules” folder. 11BEXIS Tech Talk #8: Implementation Notes
  • 12. Create a Module from a Template • Add Existing Project • <projectCode> from the Areas/<moduleId> • To solution/Modules/<moduleID> • Via “Add Existing Project”. 12BEXIS Tech Talk #8: Implementation Notes
  • 13. Create a Module from a Template • From inside VS, rename the followings: – ModuleIDModule.cs to <moduleID>Module.cs – ModuleID.Manifest.xml to <moduleID>.Manifest.xml 13BEXIS Tech Talk #8: Implementation Notes
  • 14. Create a Module from a Template • Edit the <moduleID>Module.cs – Update the namespace to <projectCode> – Update the class name to <moduleID>Module – Pass <moduleID> to the base constructor 14BEXIS Tech Talk #8: Implementation Notes
  • 15. Create a Module from a Template • Edit /Views/web.config –Edit <add namespace="Template.UI" /> to <add namespace="<projectCode>" /> 15BEXIS Tech Talk #8: Implementation Notes
  • 16. Create a Module from a Template • Edit the module manifest • Change the moduleId from “Template” to <moduleID> • Update other attributes and elements 16BEXIS Tech Talk #8: Implementation Notes
  • 17. Create a Module from a Template • Develop designated features – Controllers/ Actions – Views 17BEXIS Tech Talk #8: Implementation Notes
  • 18. Create a Module from a Template • Shell publishing does not include the module 18BEXIS Tech Talk #8: Implementation Notes
  • 19. Create a Module from a Template • Publish the module 19BEXIS Tech Talk #8: Implementation Notes
  • 20. The Manifest File 20BEXIS Tech Talk #8: Implementation Notes
  • 21. The Manifest File: Dependencies 21BEXIS Tech Talk #8: Implementation Notes • Must be installed and active • Required version is checked against available one
  • 22. The Manifest File: Exports • Publicly accessible module features • Plugged into the menu structure • Document order is preserved – Also catalog order 22BEXIS Tech Talk #8: Implementation Notes
  • 23. The Manifest File: Exports • Id: export port id for path/hierarchy building • Title: as menu label • Description: as tooltip • Controller: the controller name • Action: the action name • Argument: If the action has a parameter • Extends: The injection point in the menu structure 23BEXIS Tech Talk #8: Implementation Notes
  • 24. Module Publishing • Shell is already published • Areas folder does not include the module • Publish the module into a folder • Create a zip bundle 24BEXIS Tech Talk #8: Implementation Notes
  • 25. Module Registration • Method 1: – Update Modules.Catalog.xml – Create the <moduleID>folder under Shell/Areas – Unzip the module zip file into the folder • Method 2: – Use the SAM’s registration feature 25BEXIS Tech Talk #8: Implementation Notes
  • 26. Module Management 26BEXIS Tech Talk #8: Implementation Notes
  • 27. Documents • Module Development Recipes • Naming Conventions • DLM API docs 27BEXIS Tech Talk #8: Implementation Notes
  • 28. Outlook What‘s next in the talk series? Nothing BEXIS Tech Talk #7: Configuration and Change Management 28