Generally speaking, it is best practice to use SmartObjects to store data. Data Fields Process Data Fields Process data fields exist for the entire lifetime and their scope is global to the process. Data fields should only contain data that is tightly related to the particular business process or activity that they are defined for. Ideally data fields will only contain pointers or ID values to the business entities and data that is stored in the application databases. Activity Data Fields Activity data fields exist for the lifetime of the activity instance and have a scope of the activity instance. In K2 activity, data fields are duplicated for each destination user assigned to the activity.
|Published (Last):||15 December 2008|
|PDF File Size:||3.53 Mb|
|ePub File Size:||9.47 Mb|
|Price:||Free* [*Free Regsitration Required]|
Build with maintenance in mind Documentation Intended Audience: This post is intended for K2-trained individuals tasked with planning, designing and developing K2 Smartforms based solutions. Before you start your implementation: Get the requirements Beginning development without a clear vision on the requirements can have a significant impact on the quality of work done.
If you have stable requirements, you can start to properly plan your data model and plan your reusable SmartObjects, UI flow, and reusable Views. High risk for bugs and incredibly challenging to maintain. Are there complex UI requirements that are not out-of-the-box in K2 Smartforms?
It is important to know whether your forms requirement will be suitable to be built using K2 Smartforms. If in doubt, do contact your K2 customer success manager to ask about these matters. Importance of Drag-and-drop designer Is the deployment of the forms time-critical?
Strictness of performance load time One reality we have to face: using SmartForms would not be the fastest-performing option you could get in terms of load time. If you have strict requirements to load complex forms in a span of 3 seconds for example, you may want to rethink about your decision to use SmartForms. There are a couple of ways to improve the performance of SmartForms, but this entirely depends on the form complexity. The good old ASP. Net will still be the safest bet.
Set a realistic timeline This topic deserves a long detailed post on its own. This is basic knowledge for project management, but too many times have I seen projects fail because of this with or without K2. First and foremost, set a realistic timeline that allocates enough time for technical design — so that your blueprint is properly planned before you actually start building. This gives your project a solid foundation. I find it very effective however tell horror stories relating to this based on experience.
Both parties the developer and stakeholders alike should acknowledge that a tighter timeline will have higher risk for poorer quality. A solid application means happy stakeholders, even if it means they have to wait a while longer.
Plan for Reusability Planning SmartObjects and Views smartly can vastly reduce your development time because of reusability. However, this could be a double edged sword. Forcing to reuse some Views may result in making it difficult to maintain. But if properly implemented and documented, this will create consistent development standards that will be consistent across your organization. You can build a library for common views and objects that can be used by the entire team. Parameters can be used for Views and Forms to make them dynamic.
Documentation for these assets are necessary, especially if you have a big pool of developers. Some generically-usable examples: Headers with dynamic application title User details that could populate from AD.
K2 blackpearl Best Practices
K2 Best Practice, Part 1: Blackpearl Workflow