This document provides best practices for Siebel eScripting. It recommends avoiding scripting when possible by using other configuration methods like user properties, calculated fields, state models, and workflows. When scripting is necessary, it provides tips for optimizing scripts such as caching frequently called values, delaying object instantiation, using indexed columns for search specs, avoiding scripts on frequently fired events, consolidating scripts, adding comments, and nullifying objects when no longer needed.
The document discusses Siebel eScript, a scripting language that can be used in Siebel applications. It provides two types of scripts: server scripts that run on the server and browser scripts that run in the browser. Siebel eScript allows access to system calls through objects and can be used for data validation, user interaction, and integration with external systems. The document provides guidelines and commands for using Siebel eScript and tips for optimizing scripts.
This document is the Siebel eScript Language Reference for Siebel Innovation Pack 2013 Version 8.1/8.2. It provides an overview of Siebel eScript and describes the syntax and usage of statements, methods, functions, and objects available in Siebel eScript. The document is copyrighted by Oracle and contains various notices regarding licensing and use of the software.
The document summarizes the architecture of Siebel applications, including the components, data flow, and high-level functions. Key components include the Siebel web client, web server, Siebel web server extension (SWSE), Siebel gateway name server, Siebel server, database server, and file system. The Siebel server manages business data and processes requests from clients. It uses a configuration file and repository file to initialize the application. User requests flow from the web client to the web server and SWSE, then to the Siebel components to retrieve and return data.
This document discusses Siebel Open UI, including what it is, its architecture, development process, and testing. Key points include:
- Siebel Open UI provides a new standards-based open client supporting multiple devices and browsers without ActiveX downloads.
- It allows deployment of Siebel applications to mobile devices like iPads without third party integration.
- The architecture includes presentation and physical layers that can be customized separately, along with mapping of server objects to client code.
- Development and testing of customizations are similar to the existing Siebel high interactivity client.
Web services and EAI allow for the exchange of data between different applications and systems. Web services use common protocols like HTTP, SOAP and XML to enable interoperability. To set up inbound and outbound web services in Siebel, integration objects are created to define the data structure and business service methods are defined as the service interface. The Siebel web service configuration is then completed by creating web service records in the application administration.
This document provides an overview of the Siebel Business Process Framework and Workflow Guide. It discusses the architecture used to develop, simulate, and deploy workflow processes. It also describes how to create workflow processes by adding steps, connectors, and properties. Additionally, it covers testing, administering, and migrating workflow processes as well as configuring workflow policies.
Customizing the Presentation Model and Physical Renderer in Siebel Open UITech OneStop
Customizing the presentation model and Physical Renderer in Siebel Open UI:This is our third tutorial on Siebel Open UI Training series.For open ui classroom/online training, please drop us mail admin@techonestop.com. For more information, click http://www.techonestop.com/2014/05/customizing-presentation-model-siebel-open-ui.html and http://www.techonestop.com/2014/06/customizing-physical-renderer-siebel-open-ui-training.html. For more updates on recent activities, follow 'TechOneStop' in Facebook/Twitter/LinkedIn.
This document describes how to use Oracle Service Bus and Oracle Coherence caching capabilities to improve performance of a slow web service. It shows how to create a sample web service that takes 9 seconds to respond using Java and deploy it to WebLogic Server. Then it imports the web service into an Oracle Service Bus project and enables caching for the business service. With caching enabled, subsequent requests return immediately from the cache instead of calling the backend web service. It also describes how to use an external Coherence server for out-of-process caching and monitoring the cache using the Coherence console.
The document discusses Siebel eScript, a scripting language that can be used in Siebel applications. It provides two types of scripts: server scripts that run on the server and browser scripts that run in the browser. Siebel eScript allows access to system calls through objects and can be used for data validation, user interaction, and integration with external systems. The document provides guidelines and commands for using Siebel eScript and tips for optimizing scripts.
This document is the Siebel eScript Language Reference for Siebel Innovation Pack 2013 Version 8.1/8.2. It provides an overview of Siebel eScript and describes the syntax and usage of statements, methods, functions, and objects available in Siebel eScript. The document is copyrighted by Oracle and contains various notices regarding licensing and use of the software.
The document summarizes the architecture of Siebel applications, including the components, data flow, and high-level functions. Key components include the Siebel web client, web server, Siebel web server extension (SWSE), Siebel gateway name server, Siebel server, database server, and file system. The Siebel server manages business data and processes requests from clients. It uses a configuration file and repository file to initialize the application. User requests flow from the web client to the web server and SWSE, then to the Siebel components to retrieve and return data.
This document discusses Siebel Open UI, including what it is, its architecture, development process, and testing. Key points include:
- Siebel Open UI provides a new standards-based open client supporting multiple devices and browsers without ActiveX downloads.
- It allows deployment of Siebel applications to mobile devices like iPads without third party integration.
- The architecture includes presentation and physical layers that can be customized separately, along with mapping of server objects to client code.
- Development and testing of customizations are similar to the existing Siebel high interactivity client.
Web services and EAI allow for the exchange of data between different applications and systems. Web services use common protocols like HTTP, SOAP and XML to enable interoperability. To set up inbound and outbound web services in Siebel, integration objects are created to define the data structure and business service methods are defined as the service interface. The Siebel web service configuration is then completed by creating web service records in the application administration.
This document provides an overview of the Siebel Business Process Framework and Workflow Guide. It discusses the architecture used to develop, simulate, and deploy workflow processes. It also describes how to create workflow processes by adding steps, connectors, and properties. Additionally, it covers testing, administering, and migrating workflow processes as well as configuring workflow policies.
Customizing the Presentation Model and Physical Renderer in Siebel Open UITech OneStop
Customizing the presentation model and Physical Renderer in Siebel Open UI:This is our third tutorial on Siebel Open UI Training series.For open ui classroom/online training, please drop us mail admin@techonestop.com. For more information, click http://www.techonestop.com/2014/05/customizing-presentation-model-siebel-open-ui.html and http://www.techonestop.com/2014/06/customizing-physical-renderer-siebel-open-ui-training.html. For more updates on recent activities, follow 'TechOneStop' in Facebook/Twitter/LinkedIn.
This document describes how to use Oracle Service Bus and Oracle Coherence caching capabilities to improve performance of a slow web service. It shows how to create a sample web service that takes 9 seconds to respond using Java and deploy it to WebLogic Server. Then it imports the web service into an Oracle Service Bus project and enables caching for the business service. With caching enabled, subsequent requests return immediately from the cache instead of calling the backend web service. It also describes how to use an external Coherence server for out-of-process caching and monitoring the cache using the Coherence console.
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Edureka!
This tutorial on Selenium will help you understand what is Page Object Model (POM) and Page Factory? You will also understand why POM design pattern should be followed for creating your test case.
The following topics will be covered in this session:
1. Why Use Page Object Model(POM)?
2. What Is Page Object Model?
3. What Is Page Factory?
4. Demo: Creating POM & Page Factory
The document provides an overview of ABAP (Advanced Business Application Programming) programming. It outlines the structure of an ABAP course including chapters on list processing, open SQL, event-driven programming, modularization, and debugging. It also describes the basic concepts of ABAP including data types, variables, structures, constants, system fields and statements like MOVE, CLEAR and FIELD-SYMBOLS.
This knolx is all about the new features which are introduced in selenium 4.
The differences between selenium3&4,
And how it is better than its competitor Cypress.
El documento describe las prácticas modernas de pruebas basadas en Lean/Agile, incluyendo la automatización de pruebas. Explica la pirámide de automatización de pruebas, con las pruebas unitarias automatizadas en la base. También cubre la integración continua, las pruebas a nivel de API y de interfaz de usuario, usando marcos como Selenium WebDriver.
Ficheros de ayuda. Formatos.
Herramientas de generación de ayudas.
Ayuda genérica y sensible al contexto.
Tablas de contenidos, índices, sistemas de búsqueda, entre otros.
Incorporación de la ayuda a la aplicación.
Tipos de manuales: anual de usuario, guía de referencia, guías rápidas, manuales de instalación, configuración y administración. Destinatarios y estructura.
Confección de tutoriales multimedia. Herramientas de captura de pantallas y secuencias de acciones.
Herramientas para la confección de tutoriales interactivos; simulación.
This document discusses best practices for planning and executing an upgrade from an older version of Siebel CRM to a newer version. It outlines the key steps in the upgrade process, including planning, pre-upgrade tasks, running upgrade utilities, post-upgrade tasks, and testing. It emphasizes careful planning, assessing the current Siebel environment, estimating resources needed, and thorough testing as critical to a successful upgrade.
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
This Selenium WebDriver tutorial talks about the drawbacks of Selenium RC and what was the need for Selenium WebDriver. It goes into the details of the avantages that WebDriver has over RC and how it replaced RC for automation testing. This tutorial will also tell you how WebDriver works and what are the different browser drivers you can use for testing. Watch the video to get a demonstration on how to locate various elements/ objects on the browser and how operations can be performed on those browser elements/ objects by writing Java code in Eclipse IDE.
Watch the video here: https://www.youtube.com/watch?v=ph3NJm4Z7m4
Este documento presenta información sobre la creación de requerimientos efectivos. Explica que los requerimientos deben ser claros, precisos y no ambiguos para evitar fracasos de proyectos. Describe tres niveles de requerimientos - de negocio, de usuario y funcionales - y ofrece lineamientos para la escritura, identificación, documentación y manejo de requerimientos.
This document provides a strategy and roadmap for Siebel CRM. It discusses enhancing the customer experience with industry innovations and increased business agility. It highlights improvements to Open UI performance, application usage pattern capture, and redesigned search capabilities. The roadmap also outlines automation capabilities for various industries like communications, financial services, public sector, field sales, and field service.
We use "SaasBase Analytics" to incrementally process large heterogeneous data sets into pre-aggregated, indexed views, stored in HBase to be queried in realtime. The requirement we started from was to get large amounts of data available in near realtime (minutes) to large amounts of users for large amounts of (different) queries that take milliseconds to execute. This set our problem apart from classical solutions such as Hive and PIG. In this talk I`ll go through the design of the solution and the strategies (and hacks) to achieve low latency and scalability from theoretical model to the entire process of ETL to warehousing and queries.
This document discusses ABAP development on SAP HANA. It describes key features of the ABAP Development Tools (ADT) Eclipse plugin for developing ABAP code. With HANA, the paradigm shifts to "code-to-data" where data processing can be pushed to the database layer. The document outlines capabilities enabled by HANA like Unicode, integration with R, and large tables. It also covers tools like CDS views, AMDP classes, and ALV with integrated data access (IDA). Benefits of HANA include increased reporting speeds, real-time operations, and enabling new big data processes.
Siebel Open UI Debugging (Siebel Open UI Training, Part 7)Tech OneStop
The document discusses debugging Siebel Open UI JavaScript using the SiebelJS.log() function, debugger statements, and browser developer tools. It provides recommendations for verifying that JavaScript files are downloaded properly, using SiebelJS.log() to log variable values, adding breakpoints with debugger, and removing debugging tools before deployment. The document also highlights using the browser inspector to check JavaScript files and SiebelJS.log() to determine code execution points.
This document discusses end-to-end testing and why it is important for complex modern software systems with multiple interconnected subsystems. End-to-end testing ensures that all subsystems work together as expected by testing user journeys that trigger actions across systems. It recommends planning end-to-end test cases that think through scenarios from start to finish and avoid adding unnecessary tests. Automating end-to-end test cases is difficult but valuable as it can catch issues that arise from system interactions.
The document describes a hybrid automation testing framework that combines both keyword-driven and data-driven testing. The hybrid framework provides modularity through nesting of test scripts and reusable library files. It supports multiple projects, test cases, automatic regression testing, and generates detailed email and log reports. The framework architecture includes layers for the core framework, applications, and components like scenario drivers, script drivers, object repositories, test data, and reusable functions. Test execution involves loading the scenario, executing scripts and keywords, logging results, and generating detailed reports.
The document provides an overview of the HP UFT IDE and its main features. It discusses the solution explorer, menu bar, properties window, tool box, output tab, and error pane. It also covers keyword and expert views, record and playback functionality, object identification, test results, checkpoints, error handling, and recovery scenarios. The document was prepared by Archana Krushnan, a test analyst with over 5 years of experience in software testing.
Este documento fornece uma introdução à Angular CLI, incluindo como instalá-la, criar um novo projeto Angular, analisar os principais arquivos de configuração, executar o projeto localmente e construí-lo para produção. O foco é ensinar os conceitos básicos para começar a desenvolver aplicações com Angular usando a CLI.
Data weave 2.0 advanced (recursion, pattern matching)ManjuKumara GH
This document summarizes a presentation on advanced concepts in DataWeave 2.0 including recursion, pattern matching, and examples of combining these techniques. It discusses using recursion to iterate through nested data structures by matching on types and mapping functions. Two examples are provided of writing utility functions - one to apply a function to all values, and one to apply a function to all keys. The functions use recursion and pattern matching to navigate nested objects and arrays. Additional resources on these topics are also referenced.
This document provides summaries of various Firebase products and services, including Firebase Realtime Database, Firebase Authentication, Firebase Cloud Messaging, Firebase Notifications, Firebase Storage, Firebase Hosting, Firebase Test Lab for Android, and Firebase Crash Reporting. For each product or service, the document outlines its key capabilities and provides example use cases.
This document discusses why services are important in software development. It explains that putting multiple responsibilities in a single class can introduce bugs, and it is better to separate different types of tasks into different classes or services. The document then provides guidance on creating and using services in Grails, including injecting services, transaction management, and different scopes that services can have.
8 rules to effectively build web apps on Google App Engine:
1. Design a simple data model that fits the non-relational datastore.
2. Use a separate version to update the data model independently.
3. Use caching, static files, and Appstats to optimize performance.
4. Reduce dependencies and use Objectify to improve startup time.
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Edureka!
This tutorial on Selenium will help you understand what is Page Object Model (POM) and Page Factory? You will also understand why POM design pattern should be followed for creating your test case.
The following topics will be covered in this session:
1. Why Use Page Object Model(POM)?
2. What Is Page Object Model?
3. What Is Page Factory?
4. Demo: Creating POM & Page Factory
The document provides an overview of ABAP (Advanced Business Application Programming) programming. It outlines the structure of an ABAP course including chapters on list processing, open SQL, event-driven programming, modularization, and debugging. It also describes the basic concepts of ABAP including data types, variables, structures, constants, system fields and statements like MOVE, CLEAR and FIELD-SYMBOLS.
This knolx is all about the new features which are introduced in selenium 4.
The differences between selenium3&4,
And how it is better than its competitor Cypress.
El documento describe las prácticas modernas de pruebas basadas en Lean/Agile, incluyendo la automatización de pruebas. Explica la pirámide de automatización de pruebas, con las pruebas unitarias automatizadas en la base. También cubre la integración continua, las pruebas a nivel de API y de interfaz de usuario, usando marcos como Selenium WebDriver.
Ficheros de ayuda. Formatos.
Herramientas de generación de ayudas.
Ayuda genérica y sensible al contexto.
Tablas de contenidos, índices, sistemas de búsqueda, entre otros.
Incorporación de la ayuda a la aplicación.
Tipos de manuales: anual de usuario, guía de referencia, guías rápidas, manuales de instalación, configuración y administración. Destinatarios y estructura.
Confección de tutoriales multimedia. Herramientas de captura de pantallas y secuencias de acciones.
Herramientas para la confección de tutoriales interactivos; simulación.
This document discusses best practices for planning and executing an upgrade from an older version of Siebel CRM to a newer version. It outlines the key steps in the upgrade process, including planning, pre-upgrade tasks, running upgrade utilities, post-upgrade tasks, and testing. It emphasizes careful planning, assessing the current Siebel environment, estimating resources needed, and thorough testing as critical to a successful upgrade.
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
This Selenium WebDriver tutorial talks about the drawbacks of Selenium RC and what was the need for Selenium WebDriver. It goes into the details of the avantages that WebDriver has over RC and how it replaced RC for automation testing. This tutorial will also tell you how WebDriver works and what are the different browser drivers you can use for testing. Watch the video to get a demonstration on how to locate various elements/ objects on the browser and how operations can be performed on those browser elements/ objects by writing Java code in Eclipse IDE.
Watch the video here: https://www.youtube.com/watch?v=ph3NJm4Z7m4
Este documento presenta información sobre la creación de requerimientos efectivos. Explica que los requerimientos deben ser claros, precisos y no ambiguos para evitar fracasos de proyectos. Describe tres niveles de requerimientos - de negocio, de usuario y funcionales - y ofrece lineamientos para la escritura, identificación, documentación y manejo de requerimientos.
This document provides a strategy and roadmap for Siebel CRM. It discusses enhancing the customer experience with industry innovations and increased business agility. It highlights improvements to Open UI performance, application usage pattern capture, and redesigned search capabilities. The roadmap also outlines automation capabilities for various industries like communications, financial services, public sector, field sales, and field service.
We use "SaasBase Analytics" to incrementally process large heterogeneous data sets into pre-aggregated, indexed views, stored in HBase to be queried in realtime. The requirement we started from was to get large amounts of data available in near realtime (minutes) to large amounts of users for large amounts of (different) queries that take milliseconds to execute. This set our problem apart from classical solutions such as Hive and PIG. In this talk I`ll go through the design of the solution and the strategies (and hacks) to achieve low latency and scalability from theoretical model to the entire process of ETL to warehousing and queries.
This document discusses ABAP development on SAP HANA. It describes key features of the ABAP Development Tools (ADT) Eclipse plugin for developing ABAP code. With HANA, the paradigm shifts to "code-to-data" where data processing can be pushed to the database layer. The document outlines capabilities enabled by HANA like Unicode, integration with R, and large tables. It also covers tools like CDS views, AMDP classes, and ALV with integrated data access (IDA). Benefits of HANA include increased reporting speeds, real-time operations, and enabling new big data processes.
Siebel Open UI Debugging (Siebel Open UI Training, Part 7)Tech OneStop
The document discusses debugging Siebel Open UI JavaScript using the SiebelJS.log() function, debugger statements, and browser developer tools. It provides recommendations for verifying that JavaScript files are downloaded properly, using SiebelJS.log() to log variable values, adding breakpoints with debugger, and removing debugging tools before deployment. The document also highlights using the browser inspector to check JavaScript files and SiebelJS.log() to determine code execution points.
This document discusses end-to-end testing and why it is important for complex modern software systems with multiple interconnected subsystems. End-to-end testing ensures that all subsystems work together as expected by testing user journeys that trigger actions across systems. It recommends planning end-to-end test cases that think through scenarios from start to finish and avoid adding unnecessary tests. Automating end-to-end test cases is difficult but valuable as it can catch issues that arise from system interactions.
The document describes a hybrid automation testing framework that combines both keyword-driven and data-driven testing. The hybrid framework provides modularity through nesting of test scripts and reusable library files. It supports multiple projects, test cases, automatic regression testing, and generates detailed email and log reports. The framework architecture includes layers for the core framework, applications, and components like scenario drivers, script drivers, object repositories, test data, and reusable functions. Test execution involves loading the scenario, executing scripts and keywords, logging results, and generating detailed reports.
The document provides an overview of the HP UFT IDE and its main features. It discusses the solution explorer, menu bar, properties window, tool box, output tab, and error pane. It also covers keyword and expert views, record and playback functionality, object identification, test results, checkpoints, error handling, and recovery scenarios. The document was prepared by Archana Krushnan, a test analyst with over 5 years of experience in software testing.
Este documento fornece uma introdução à Angular CLI, incluindo como instalá-la, criar um novo projeto Angular, analisar os principais arquivos de configuração, executar o projeto localmente e construí-lo para produção. O foco é ensinar os conceitos básicos para começar a desenvolver aplicações com Angular usando a CLI.
Data weave 2.0 advanced (recursion, pattern matching)ManjuKumara GH
This document summarizes a presentation on advanced concepts in DataWeave 2.0 including recursion, pattern matching, and examples of combining these techniques. It discusses using recursion to iterate through nested data structures by matching on types and mapping functions. Two examples are provided of writing utility functions - one to apply a function to all values, and one to apply a function to all keys. The functions use recursion and pattern matching to navigate nested objects and arrays. Additional resources on these topics are also referenced.
This document provides summaries of various Firebase products and services, including Firebase Realtime Database, Firebase Authentication, Firebase Cloud Messaging, Firebase Notifications, Firebase Storage, Firebase Hosting, Firebase Test Lab for Android, and Firebase Crash Reporting. For each product or service, the document outlines its key capabilities and provides example use cases.
This document discusses why services are important in software development. It explains that putting multiple responsibilities in a single class can introduce bugs, and it is better to separate different types of tasks into different classes or services. The document then provides guidance on creating and using services in Grails, including injecting services, transaction management, and different scopes that services can have.
8 rules to effectively build web apps on Google App Engine:
1. Design a simple data model that fits the non-relational datastore.
2. Use a separate version to update the data model independently.
3. Use caching, static files, and Appstats to optimize performance.
4. Reduce dependencies and use Objectify to improve startup time.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern for large applications, and 8) Consider web frameworks like Apache Wicket that are optimized for App Engine.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern for large applications, and 8) Consider web frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like memcache to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup times by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern for large applications, and 8) Consider web frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup times by minimizing dependencies, 5) Use Google Guice as a dependency injection framework, 6) Leverage GWT for performance, 7) Employ the GWT MVP pattern for large apps, and 8) Consider frameworks like Apache Wicket that are optimized for App Engine.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern for large applications, and 8) Consider web frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup times by minimizing dependencies, 5) Use Google Guice as a dependency injection framework, 6) Leverage GWT for performance, 7) Adopt the GWT MVP pattern for large apps, and 8) Consider frameworks like Apache Wicket that are optimized for App Engine.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like memcache to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like memcache to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern for large applications, and 8) Consider web frameworks like Apache Wicket that are optimized for App Engine.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern for large applications, and 8) Consider web frameworks like Apache Wicket.
The document provides 8 rules for building a web application effectively on Google App Engine: 1) Design a simple data model, 2) Handle data model updates via a non-default version, 3) Use techniques like Appstats and caching to reduce costs, 4) Improve cold startup time by minimizing dependencies, 5) Prefer Google Guice as a dependency injection framework, 6) Use GWT for a desktop-like interface, 7) Employ the GWT MVP pattern, and 8) Consider frameworks like Apache Wicket.
The Rising Future of CPaaS in the Middle East 2024Yara Milbes
Explore "The Rising Future of CPaaS in the Middle East in 2024" with this comprehensive PPT presentation. Discover how Communication Platforms as a Service (CPaaS) is transforming communication across various sectors in the Middle East.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Odoo releases a new update every year. The latest version, Odoo 17, came out in October 2023. It brought many improvements to the user interface and user experience, along with new features in modules like accounting, marketing, manufacturing, websites, and more.
The Odoo 17 update has been a hot topic among startups, mid-sized businesses, large enterprises, and Odoo developers aiming to grow their businesses. Since it is now already the first quarter of 2024, you must have a clear idea of what Odoo 17 entails and what it can offer your business if you are still not aware of it.
This blog covers the features and functionalities. Explore the entire blog and get in touch with expert Odoo ERP consultants to leverage Odoo 17 and its features for your business too.
An Overview of Odoo ERP
Odoo ERP was first released as OpenERP software in February 2005. It is a suite of business applications used for ERP, CRM, eCommerce, websites, and project management. Ten years ago, the Odoo Enterprise edition was launched to help fund the Odoo Community version.
When you compare Odoo Community and Enterprise, the Enterprise edition offers exclusive features like mobile app access, Odoo Studio customisation, Odoo hosting, and unlimited functional support.
Today, Odoo is a well-known name used by companies of all sizes across various industries, including manufacturing, retail, accounting, marketing, healthcare, IT consulting, and R&D.
The latest version, Odoo 17, has been available since October 2023. Key highlights of this update include:
Enhanced user experience with improvements to the command bar, faster backend page loading, and multiple dashboard views.
Instant report generation, credit limit alerts for sales and invoices, separate OCR settings for invoice creation, and an auto-complete feature for forms in the accounting module.
Improved image handling and global attribute changes for mailing lists in email marketing.
A default auto-signature option and a refuse-to-sign option in HR modules.
Options to divide and merge manufacturing orders, track the status of manufacturing orders, and more in the MRP module.
Dark mode in Odoo 17.
Now that the Odoo 17 announcement is official, let’s look at what’s new in Odoo 17!
What is Odoo ERP 17?
Odoo 17 is the latest version of one of the world’s leading open-source enterprise ERPs. This version has come up with significant improvements explained here in this blog. Also, this new version aims to introduce features that enhance time-saving, efficiency, and productivity for users across various organisations.
Odoo 17, released at the Odoo Experience 2023, brought notable improvements to the user interface and added new functionalities with enhancements in performance, accessibility, data analysis, and management, further expanding its reach in the market.
Project Management: The Role of Project Dashboards.pdfKarya Keeper
Project management is a crucial aspect of any organization, ensuring that projects are completed efficiently and effectively. One of the key tools used in project management is the project dashboard, which provides a comprehensive view of project progress and performance. In this article, we will explore the role of project dashboards in project management, highlighting their key features and benefits.
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
A neural network is a machine learning program, or model, that makes decisions in a manner similar to the human brain, by using processes that mimic the way biological neurons work together to identify phenomena, weigh options and arrive at conclusions.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
2. There a Golden Rule that every Siebel Developer should
follow when it comes to scripting.
This golden rule is to never script unless there is no
other choice on meeting your requirements.
Scripting is the highest level of customization and adds
complexity and cost to the configuration. So scripting
should be your last resort. So the first practice is to avoid
script. So to avoid scripting, below are some
configuration methods every developer should think
before attempting to work with eScripts
3. User Properties
• This is a major feature in Siebel. An
example of this is “On Field Update Set”.
This is used instead of scripting on Set
Field Value event to change some other
value.
4. Calculated Fields
• Calculated fields come very handy when
we need to do validation. With the help of
Calculated Fields and User properties lot
of functional requirements are achieved
5. State Models
• State models help in restricting transitions
from one field value to other. So there is
no need to script to check the status
change.
6. Runtime Events
• This was introduced in 7.7 and has been
of significant help to the developers to on
invoking Workflows & Business Services
based on events. So avoid Business
Component events.
7. Workflows
• Instead of writing a big script, we can
break that down to a series of workflow
steps. We have steps Like Write, Update,
if condition, Sub-Process, Invoke Business
Service and lot of other key stuff.
Workflows are very efficient and
promising.
8. Scripting
• Though scripting should be avoided, it is
often common that scripting would
become necessary to meet our
requirements. So if scripted, it should be
done the most efficient way. There are
several optimization techniques. Below
are some and I will post more in the future.
9. Tip 1
• Avoid repeated calling of a function if the
results returned are the same. Instead
cache the value in a variable. Especially
avoid repeated calling of the API function
like TheApplication().ActiveViewName() as
shown below.
10.
11. Tip2
• Delay Object Instantiation. If the object
being used is under a conditional
expression then wait till the conditional
statement actually evaluates true. This
reduces the cost and burden on the
server. See the code below.
12.
13. Scripting Contd..
• Scripting often gets complicated with
heavily customized applications. Not every
business requirement can be met with just
configuration. So developers resort to
scripting. But if not properly implemented,
this could cause a lot of mess. Below are
some more Siebel recommended best
practices.
14. Tip3
• Use SetSearchSpec only on Indexed column. Before we
do ExecuteQuery in the script, we use SetSearchSpec to
retrieve only relevant records. SetSearchSpec also limits
the number of records retrieved which makes the
ExecuteQuery faster. But on what type of column we do
SetSearchSpec on is also very important. We should
always do a SetSearchSpec on indexed column so that
the records are retrieved very fast. This saves a lot of
burden and time on both application and database
servers.
15. Tip4
• When we use ExecuteQuery, we need not do execute
query again on child BC. ExecuteQuery on parent BC
also forces a query on all active child BC defined using
Links. For example in the screenshot below, consider
Account Object. There is Link defined between Account
and Action BC. So if a query is executed on Account BC,
only relevant Activity records pertaining to the records
Account BC are retrieved. This behavior is very similar to
searching in the Siebel application UI where if you have
Account –Action view and if you query on Account
applet, only activities relevant to are shown in the bottom
list applet.
16.
17. Scripting Contd.
• Also, if you need to do a use SetSearchSpec on child
BC, do it before the ExecuteQuery. This way,
ExecuteQuery is done only once. Again this is similar to
searching in the Siebel Application UI. Below is the
screenshot with a simple code to demonstrate this.
• There is definitely scripting involved in any Siebel
implementation but is safe not to clutter with scripting. As
a developer s/he has to always think about the
performance impact as it could result in significant
downgrade of the system.
So here are few more best practices on Siebel eScripting.
18. Tip5
• Totally Avoid Scripting on Frequently Fired Events like
PreGetFieldValue and ChangeRecord Event.
• PreGetFieldValue event is triggered for every column under every
record that is retrieved. For instance if there are 10 records retrieved
in an applet and there are 10 columns or values in each record then
this event will be fired 100 times. This is a big number and could
grow dramatically. So it is a big NO NO for scripting on this event.
• ChangeRecord event is triggered every time a user navigates to
the next record. This will slow down the user completely. Users
would complain and if somewhere this BC is used for scripting
anywhere else, then this event will impact the performance that
scripts. So be very careful as this is definitely not recommended.
19. Tip6
• Browser Script causes burden on the application
to load. So heavy browser scripting should be
avoided. Additionally use only for simple client
side functionalities like validating values. Also
avoid browser scripts that require server side
roundtrip to get fast response. For example,
fetching values from the server database back
into the browser script would take time and
would result in slow response.
20. Tip7
• When you use ExecuteQuery() in eScripting, by default it uses
ForwardBackward mode where in it remember the past record and
would use some resources. Instead use ForwardOnly cursor mode
wherever possible as it improves performance by not having to
remember the past records that have already passed. By default it is
ForwardBackward and you will have to specify the cursor mode to
use ForwardOnly like oAccountBC.ExecuteQuery(ForwardOnly).
• There are several other ways to optimize Siebel scripting but it is
also very important to write the code in a way as to reduce the
maintenance efforts, help future reference and for best
understanding. So in this blog post about Siebel eScripting best
practices I will mention tips to address these essential skills needed.
21. Tip 8
• Consolidate Scripts to BC level script or Business Service level
script.
There are cases where in a same set block of script is being used at
multiple places. A simple example would be a script used in toggle
applets where there are multiple applets involved and each applet
could be having the same block of script addressing the same
functionality. For a developer, a small change in functionality would
require him to change multiple objects. This overhead can be
reduced if possible, by moving the functionality to either at the
Business Component level or at the Business Service level. Then
the developer would have to make changes to only one object which
effectively saves a lot of overhead and time.
Also keep in mind that lesser the code in your repository better the
maintenance efforts and would also help the upgrade process.
22. Tip 9
• Self-Document the scripts with Comments
I can’t stress enough on this trip. There are
always times when we look at the other person’s
code and we would always wonder why this was
done. Also even there are times when a year
later or so, our own code would look alien to us.
So always use comments sparingly.
Commenting is a wonderful way of conveying
the meaning of the code.
23. • Each code should start with a commented header explaining the purpose of
the code. Then comment the code appropriately at every sections of the
code to make the whole script self explanatory. Below is the sample function
header.
function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
/**********************************************************
* Name: AAG Service PreInvokeMethod
* Author: ABC
* Date Created: 01/25/2008
*
* Purpose/Description: Illustration of how comment header is used
*
* Inputs: Id, SR_ID
* Outputs: Returns status of BS
*
* Revision History:
* 9/9/09 — Satish — Added to update status of SR
* 9/10/09 — Satish — Added Email functionality, Enhancement SBL-320
************************************************************/
• The header shown above is the most common header used by many
developers. Feel free to use the above header in your code.
24. Tip 10
Browser Script versus Server Script
• The main purpose of Siebel Browser script is to extend the
functionality of the browser. So Browser script should be limited to
user based events. On the other side Server Side script is used for
data manipulation or anything beyond the capability of the browser.
• Browser script is recommended for:
• Communication with the user
• Interaction with desktop applications
• Data validation and manipulation limited to the current record
• Server script is recommended for:
• Query, insert, update, and delete operations
• Access to data beyond the current record
• So validate your requirement against this best practice.
25. Tip 11
Nullify Object Variables when no longer needed.
• Every variable under eScript that is referenced to an object (oBC =
TheApplication().GetBusComp(“Account”);) uses some memory to
hold that value. If the script exists abruptly the memory that is being
used to hold that value might not get released causing memory leak.
To avoid any kind memory leak it is a good practice to null those
variables (oBC = null;) after their use. Nulling those variables
releases the memory. Common object references that must be
nulled are
• Business Objects
• Property Sets
• Business Services
• Business Components
• Applets
26. The best spot to null these variables are under finally section of the
try-catch block of eScript as shown below.
try
{
oAccBO = TheApplication().GetBusObject(”Account”);
oAccBC = oAccBO.GetBusComp(”Account”);
sAccSerExpr = oAccBC. GetSearchExpr();
}
catch(e)
{
//Some Error Handling
}
finally
{
sAccSerExpr = null;
oAccBC = null;
oAccBO= null;
}
Observe that in the code I first null the child objects and then the
parent objects.
27. Tip 12
Get rid of unused code from the Repository
• Having a code that has been commented out or not being used
causes an unnecessary burden on the server to load the application
which could hit performance. If the code is no longer in use just
remove them from the objects. But before you delete them make
sure you archive (sif) or export it so that in future if you see realize
the need for it; you can just import them back into the application.
• Hope these tips helps. If you know of any tips and you would like me
to publish it over here, please write it and send it to me. I will be very
glad to post it over here.
• While I was working on eScript I came across the method
GetMVGBusComp which is one of Best Practices in eScripting and I
thought of posting it here. Details about this method below.
28. Tip 13
Use GetMVGBusComp Method to get the MVG records
• As the method name suggests it gets the Business Component of the record that MVG is
based on. This is a very helpful Method that would save a several lines of unnecessary code.
• For example, we have Accounts and there are Sales Reps associated to each of these
accounts. These Sales Reps are based on Position BC. Position BC is the MVG Business
Component of Account BC. The requirement is to get all the sales rep associated to the
details of all the sales rep associated to this account using eScript. Now a developer who is
writing this eScript and not aware of this Method would write an eScript something like this.
• Get Account Row ID
• Get Account Position BC
• Query for Account ID
• Get the corresponding Position Id
• Get Postion BC
• Query for that Postion Id from step 4
• Get Employee details from this Position BC
Instead we could write something like this
• Get Account RowId
• Get all the sales rep records using GetMVGBusComp
• Get Employee details from this Position BC.
29. Code for your reference
oAccBC = oAccBO.GetBusComp("Account");
//Get the corresponding Sales Rep Bus Comp — eScript Best practice
here.
var oAccPostnBC = oAccBC.GetMVGBusComp("Sales Rep");
//Add search spec to already filtered records
//No Need to get the Sales Rep that are associated to only this account
//The Method already gets sales rep that belongs to only this account
//Do not to use ClearToQuery here.
//You could add more Search Spec if you desire
oAccPostnBC.SetSearchSpec("Position Type","Partner Sales Rep");
oAccPostnBC.ExecuteQuery();
var rAccPostn = oAccPostnBC.FirstRecord();
//Here I am getting all the email Addresses
while(rAccPostn)
{
sEmailAddr = sEmailAddr + oAccPostnBC.GetFieldValue("Active
Email"a) + ";";
rAccPostn = oAccPostnBC.NextRecord();
}
30. Tip 14
Verify Existence of Valid Record after Querying
• After you execute the method ExecuteQuery()
make sure to check if there is at least one valid
record that you desire otherwise it might result in
an invalid scripting. For example in the code
above before I get the email addresses I check
there is a valid record returned from my
ExecuteQuery Method using the while
statement. Otherwise GetFieldValue on the BC
record will behave weird by throwing error. Also
you could use IF statement to check if you
expect the result to have just one record.
31. Views not visible – Reasons
I was implementing a new Siebel 8 application for my client and in
spite of everything working normal I realized that some views of
product configurator were missing. Then I started to investigate as
to why these views were not visible even for SADMIN. I checked few
different things and later we realized that the product configurator
functionality is an add-on license and which my client hasn’t bought.
So for this blog, I started to compile the Top 6 reasons as to why the
view is missing or might be not visible.
• The view does not include under your current Responsibility.
• View not registered.
• Missing or limited license keys
• View does not exist in the Siebel Repository. Forgot to compile?
• Personalization constraints (Profile Attributes)
• View might have been configured under a different Siebel Screen