The Road To Damascus - A Conversion Experience: LotusScript and @Formula to SSJSmfyleman
This document summarizes Matthew Fyleman's talk on converting LotusScript and @Formula to SSJS. It discusses options like using NotesAgent.run() or search and replace with regular expressions. Search and replace is most useful for LotusScript conversion if some refactoring is done first. Regular expressions can help match patterns during search and replace. Converting @Formula to JavaScript requires understanding functions like @If. Dedicated tools can help with complex conversions but still require some manual work.
bccon-2014 dev03 xpages-road_to_damascas-lotus-script-and-@formula-to-ssjsICS User Group
This document discusses options for converting LotusScript and @Formula code to SSJS. It begins by introducing the presenter and the topic. It then covers various conversion options like using NotesAgent.run(), search and replace, and dedicated tools. It provides tips for preparing code for conversion through search and replace by refactoring code. It also introduces regular expressions as useful tools. The document then provides examples of converting code elements like Dim statements, If statements, and field handling. It discusses issues like converting data types and user interaction. Finally, it discusses resources for further information.
This document discusses JavaScript objects and methods for manipulating strings and performing mathematical calculations. It introduces the Math object which allows common mathematical operations and contains constants like PI. It also covers the String object which allows manipulating and processing strings, including character-level methods, searching/extracting substrings, and generating XHTML tags. Methods like split(), indexOf(), toLowerCase() are described.
The document provides information about data type conversion and multi-dimensional arrays in JavaScript. It explains that strings returned by the prompt() function need to be converted to numbers using parseInt() or parseFloat() before performing mathematical operations. This is demonstrated through an example that incorrectly adds two numbers due to their string data type. The document then introduces multi-dimensional arrays as a way to store related data in groups or sub-arrays, like employee records with name, age, address fields. It provides examples of declaring and accessing elements in 1D, 2D, 3D and higher dimensional arrays.
This document provides an overview of Object Relational Mapping (ORM) using GORM in Grails. It discusses how GORM uses Hibernate under the hood and provides examples of basic CRUD operations and associations like one-to-many and many-to-many relationships. It also covers querying with GORM using dynamic finders, where queries, criteria, HQL and advanced features like events and custom mappings.
The document discusses the scripting capabilities of Groovy and how it simplifies scripting compared to Java. Groovy allows separating code into simple scripts without unnecessary class and method definitions. It supports various approaches for running scripts, including via a GroovyShell, GroovyScriptEngine, or by implementing the JSR-223 scripting API. Groovy also allows predefining variables and methods in a script's binding to make domain-specific languages more natural to use.
This document summarizes several proposed changes for Java 7 including better integer literals with underscores for clarity, improved type inference for constructors and argument positions, new features like string switches and automatic resource management, and new libraries such as NIO2 and the fork/join framework for parallel programming.
This document provides an overview of GORM (Grails' Object Relational Mapping) including how to create domain classes, perform basic CRUD operations, define associations between classes, customize mappings, add constraints, and query data using various methods. It covers topics such as many-to-one, one-to-many, and many-to-many relationships; eager vs lazy fetching; validation on save; and dynamic finders, criteria, HQL, and detached criteria for querying.
A namespace is a declarative region that provides a scope to the identifiers (the names of types, functions, variables, etc) inside it. It is used to organize code into logical groups and to prevent name collisions that can occur especially when our code base includes multiple libraries. Namespace provides a class-like modularization without class-like semantics
Grails GORM - You Know SQL. You Know Queries. Here's GORM.Ted Vinke
This presentation shows practical basics of how Grails Object Relational Mapping (GORM) can help you query data, test it, and think in domain terms along the way when SQL at the moment is all you know.
This document discusses leveraging Groovy for capturing business rules through domain-specific languages (DSLs). It begins with introductions to DSLs and Groovy, explaining their goals and advantages. Examples are provided of using Groovy to remove boilerplate code from Java programs and create internal DSLs. The document demonstrates how Groovy features like closures and meta-programming enable the creation of DSLs for expressing business rules in a natural, domain-focused way.
Core java by a introduction sandesh sharmaSandesh Sharma
This document provides an overview of core Java concepts including primitive types, wrappers, static methods and blocks, strings, abstract classes and interfaces, collections, equals and hashcode methods, and threads. It defines each concept, provides examples of usage, and notes key behaviors and properties. The document serves as a reference for fundamental Java programming concepts.
Scala er et Java-relateret, statisk typet programmeringssprog i hastig fremmarch. Sproget kombinerer aspekter fra objekt- og funktionsorienterede sprog og fokuserer på skalerbarhed og effektivitet, både på det kodemæssige og afviklingsmæssige niveau. Syntaksen er elegant og koncis. Samtidig indeholder sproget stærke konstruktioner til understøttelse af parallelle applikationer, der udnytter fremtidens hardwarearkitekturer.
Java som sprog har ikke bevæget sig meget de seneste år. Vi har stadig ikke closures eller funktionelle aspekter som f.eks. C# har haft siden version 3. Er Scala svaret på enhver Javaudviklers bønner eller er sproget kun interessant for tågehoveder som mig, som begynder at synes bedre og bedre om funktionsorientering? Er den store portion syntaktisk sukker, Scala bringer på bordet, bare tomme kalorier?
This is an intermediate conversion course for C++, suitable for second year computing students who may have learned Java or another language in first year.
Scala is a multi-paradigm programming language that blends object-oriented and functional programming. It is designed to express common programming patterns in a concise, elegant, and type-safe way. Scala runs on the Java Virtual Machine and interoperates seamlessly with Java, but also integrates concepts from languages such as Haskell, ML and Ruby. Some key features of Scala include support for functional programming, a static type system with type inference, pattern matching, actors and immutable data structures.
Scala er et Java-relateret, statisk typet programmeringssprog i hastig fremmarch. Sproget kombinerer aspekter fra objekt- og funktionsorienterede sprog og fokuserer på skalerbarhed og effektivitet, både på det kodemæssige og afviklingsmæssige niveau. Syntaksen er elegant og koncis. Samtidig indeholder sproget stærke konstruktioner til understøttelse af parallelle applikationer, der udnytter fremtidens hardwarearkitekturer.
The document discusses the history and evolution of JavaScript, including its origins from Java and LiveScript, standardization as ECMAScript, and key features such as dynamic typing, objects, functions, and prototypal inheritance. It also covers JavaScript data types like numbers, strings, Booleans, objects, and functions, and how the language handles values, scope, operators, and other elements.
Scala supports first-class functions that can be passed as arguments to other functions or stored in variables. Functions can be defined as method members or as anonymous function literals. Function literals allow defining unnamed functions inline. Functions in Scala support closures, where functions can close over variables in the enclosing scope. This allows functions to access variables that are not passed in as arguments. The document discusses various ways to define functions in Scala including local functions, function literals, partially applied functions, and repeated parameters.
The presentation from SPb Python Interest Group community meetup.
The presentation tells about the dictionaries in Python, reviews the implementation of dictionary in CPython 2.x, dictionary in CPython 3.x, and also recent changes in CPython 3.6. In addition to CPython the dictionaries in alternative Python implementations such as PyPy, IronPython and Jython are reviewed.
The document discusses Python modules and packages. Key points include:
- Modules allow organizing code into reusable files and namespaces. Common file extensions are .py.
- Packages are directories that contain modules and an __init__.py file to identify them as packages. They provide a hierarchy for importing modules.
- There are different ways to import modules, such as import, from, import *. This controls what names are imported into the current namespace.
This document provides information on regular expressions and file input/output in Python. It includes:
- Descriptions of regular expression functions like re.match(), re.search(), and re.sub() and examples of using them to search strings.
- Details on opening, reading, and writing to files in Python using the open() function and methods like read(), write(), close().
- Examples of reading and writing CSV files, renaming and deleting files using os module functions, and getting file metadata.
Groovy is a dynamic language for the Java Virtual Machine that builds upon Java's strengths. It allows for increased productivity by reducing boilerplate code and simplifying testing. Groovy code compiles to Java bytecode, integrates seamlessly with existing Java code, and has features like closures and iterators that make programming more concise. Groovy adopts many modern language features while keeping a low barrier to entry for Java developers.
This document provides an overview of JavaScript, including its history, uses, syntax, variables, data types, operators, conditional statements, loops, functions, and ways to display output. Some key points:
- JavaScript is a scripting language used to add interactivity to HTML pages. It was originally developed by Brendan Eich at Netscape under the names Mocha and LiveScript.
- JavaScript code can be embedded within HTML using <script> tags or linked externally via the src attribute. Common uses include form validation, dynamic updating of content, and interactive effects.
- The language supports variables, arrays, objects, numbers, strings, booleans, and other data types. Conditional statements like if
The document discusses new features in .NET 3.5 including automatic properties, extension methods, object initialization, anonymous types, partial methods, type inference, LINQ, lambda expressions, and query expressions. It explains that these language enhancements combined with query expressions enable LINQ by providing a unified way to query and manipulate data from various sources.
Part of the JavaScript training series offered by Bitovi. Full course schedule is available here: http://blog.bitovi.com/free-weekly-online-javascript-training/
Schematics allow developers to define rules that transform a file system tree representation. They provide a workflow tool for scaffolding new components and services as well as updating existing code. The Angular CLI uses schematics under the hood to provide its functionality. Developers can build their own schematics to customize workflows by defining rules that apply transformations to a tree representation of files.
The document provides information about a JavaScript course including:
1. The course consists of 5 lectures and 5 labs and is evaluated based on projects, assignments, labs and quizzes.
2. The lecture outline covers introduction to JavaScript, syntax, built-in objects and functions.
3. JavaScript was invented by Brendan Eich at Netscape and first appeared in the Netscape Navigator browser in 1995.
This document provides an overview of GORM (Grails' Object Relational Mapping) including how to create domain classes, perform basic CRUD operations, define associations between classes, customize mappings, add constraints, and query data using various methods. It covers topics such as many-to-one, one-to-many, and many-to-many relationships; eager vs lazy fetching; validation on save; and dynamic finders, criteria, HQL, and detached criteria for querying.
A namespace is a declarative region that provides a scope to the identifiers (the names of types, functions, variables, etc) inside it. It is used to organize code into logical groups and to prevent name collisions that can occur especially when our code base includes multiple libraries. Namespace provides a class-like modularization without class-like semantics
Grails GORM - You Know SQL. You Know Queries. Here's GORM.Ted Vinke
This presentation shows practical basics of how Grails Object Relational Mapping (GORM) can help you query data, test it, and think in domain terms along the way when SQL at the moment is all you know.
This document discusses leveraging Groovy for capturing business rules through domain-specific languages (DSLs). It begins with introductions to DSLs and Groovy, explaining their goals and advantages. Examples are provided of using Groovy to remove boilerplate code from Java programs and create internal DSLs. The document demonstrates how Groovy features like closures and meta-programming enable the creation of DSLs for expressing business rules in a natural, domain-focused way.
Core java by a introduction sandesh sharmaSandesh Sharma
This document provides an overview of core Java concepts including primitive types, wrappers, static methods and blocks, strings, abstract classes and interfaces, collections, equals and hashcode methods, and threads. It defines each concept, provides examples of usage, and notes key behaviors and properties. The document serves as a reference for fundamental Java programming concepts.
Scala er et Java-relateret, statisk typet programmeringssprog i hastig fremmarch. Sproget kombinerer aspekter fra objekt- og funktionsorienterede sprog og fokuserer på skalerbarhed og effektivitet, både på det kodemæssige og afviklingsmæssige niveau. Syntaksen er elegant og koncis. Samtidig indeholder sproget stærke konstruktioner til understøttelse af parallelle applikationer, der udnytter fremtidens hardwarearkitekturer.
Java som sprog har ikke bevæget sig meget de seneste år. Vi har stadig ikke closures eller funktionelle aspekter som f.eks. C# har haft siden version 3. Er Scala svaret på enhver Javaudviklers bønner eller er sproget kun interessant for tågehoveder som mig, som begynder at synes bedre og bedre om funktionsorientering? Er den store portion syntaktisk sukker, Scala bringer på bordet, bare tomme kalorier?
This is an intermediate conversion course for C++, suitable for second year computing students who may have learned Java or another language in first year.
Scala is a multi-paradigm programming language that blends object-oriented and functional programming. It is designed to express common programming patterns in a concise, elegant, and type-safe way. Scala runs on the Java Virtual Machine and interoperates seamlessly with Java, but also integrates concepts from languages such as Haskell, ML and Ruby. Some key features of Scala include support for functional programming, a static type system with type inference, pattern matching, actors and immutable data structures.
Scala er et Java-relateret, statisk typet programmeringssprog i hastig fremmarch. Sproget kombinerer aspekter fra objekt- og funktionsorienterede sprog og fokuserer på skalerbarhed og effektivitet, både på det kodemæssige og afviklingsmæssige niveau. Syntaksen er elegant og koncis. Samtidig indeholder sproget stærke konstruktioner til understøttelse af parallelle applikationer, der udnytter fremtidens hardwarearkitekturer.
The document discusses the history and evolution of JavaScript, including its origins from Java and LiveScript, standardization as ECMAScript, and key features such as dynamic typing, objects, functions, and prototypal inheritance. It also covers JavaScript data types like numbers, strings, Booleans, objects, and functions, and how the language handles values, scope, operators, and other elements.
Scala supports first-class functions that can be passed as arguments to other functions or stored in variables. Functions can be defined as method members or as anonymous function literals. Function literals allow defining unnamed functions inline. Functions in Scala support closures, where functions can close over variables in the enclosing scope. This allows functions to access variables that are not passed in as arguments. The document discusses various ways to define functions in Scala including local functions, function literals, partially applied functions, and repeated parameters.
The presentation from SPb Python Interest Group community meetup.
The presentation tells about the dictionaries in Python, reviews the implementation of dictionary in CPython 2.x, dictionary in CPython 3.x, and also recent changes in CPython 3.6. In addition to CPython the dictionaries in alternative Python implementations such as PyPy, IronPython and Jython are reviewed.
The document discusses Python modules and packages. Key points include:
- Modules allow organizing code into reusable files and namespaces. Common file extensions are .py.
- Packages are directories that contain modules and an __init__.py file to identify them as packages. They provide a hierarchy for importing modules.
- There are different ways to import modules, such as import, from, import *. This controls what names are imported into the current namespace.
This document provides information on regular expressions and file input/output in Python. It includes:
- Descriptions of regular expression functions like re.match(), re.search(), and re.sub() and examples of using them to search strings.
- Details on opening, reading, and writing to files in Python using the open() function and methods like read(), write(), close().
- Examples of reading and writing CSV files, renaming and deleting files using os module functions, and getting file metadata.
Groovy is a dynamic language for the Java Virtual Machine that builds upon Java's strengths. It allows for increased productivity by reducing boilerplate code and simplifying testing. Groovy code compiles to Java bytecode, integrates seamlessly with existing Java code, and has features like closures and iterators that make programming more concise. Groovy adopts many modern language features while keeping a low barrier to entry for Java developers.
This document provides an overview of JavaScript, including its history, uses, syntax, variables, data types, operators, conditional statements, loops, functions, and ways to display output. Some key points:
- JavaScript is a scripting language used to add interactivity to HTML pages. It was originally developed by Brendan Eich at Netscape under the names Mocha and LiveScript.
- JavaScript code can be embedded within HTML using <script> tags or linked externally via the src attribute. Common uses include form validation, dynamic updating of content, and interactive effects.
- The language supports variables, arrays, objects, numbers, strings, booleans, and other data types. Conditional statements like if
The document discusses new features in .NET 3.5 including automatic properties, extension methods, object initialization, anonymous types, partial methods, type inference, LINQ, lambda expressions, and query expressions. It explains that these language enhancements combined with query expressions enable LINQ by providing a unified way to query and manipulate data from various sources.
Part of the JavaScript training series offered by Bitovi. Full course schedule is available here: http://blog.bitovi.com/free-weekly-online-javascript-training/
Schematics allow developers to define rules that transform a file system tree representation. They provide a workflow tool for scaffolding new components and services as well as updating existing code. The Angular CLI uses schematics under the hood to provide its functionality. Developers can build their own schematics to customize workflows by defining rules that apply transformations to a tree representation of files.
The document provides information about a JavaScript course including:
1. The course consists of 5 lectures and 5 labs and is evaluated based on projects, assignments, labs and quizzes.
2. The lecture outline covers introduction to JavaScript, syntax, built-in objects and functions.
3. JavaScript was invented by Brendan Eich at Netscape and first appeared in the Netscape Navigator browser in 1995.
Twins: Object Oriented Programming and Functional ProgrammingRichardWarburton
Object-Oriented Programming has well established design principles, such as SOLID. For many developers architecture and functional programming are at odds with each other: they don’t know how their existing tricks of the trade convert into functional design. This problem becomes worse as hybrid languages such as Java 8 or Scala become common. We’ll talk about how functional programming helps you implement the SOLID principles, and how a functional mindset can actually help you achieve cleaner and simpler OO design.
Catalyst is a web framework for Perl that allows developers to build dynamic web applications in a modular, reusable way. It utilizes common Perl techniques like Moose, DBIx::Class and Template Toolkit to handle tasks like object modeling, database access and view rendering. Catalyst applications can be built in a model-view-controller style to separate application logic, data access and presentation layers. This framework provides a standard way to write reusable code and build web UIs for tasks like system administration and automation.
This document provides an overview of the Prototype JavaScript framework. It discusses what Prototype JS is, why it was created, and how it compares to other frameworks in terms of speed. It also outlines some common problems with JavaScript frameworks and describes some general methods in Prototype like Class.create for object-oriented programming and Object.extend for inheritance. The document explains how Prototype JS integrates with Ruby on Rails and provides references for further reading.
This document provides an overview of a tutorial on learning Windows PowerShell core skills in 2 days. The tutorial will be delivered in 4 sessions and cover topics like PowerShell cmdlets, parameters, aliases, providers, help system, connecting commands with pipes, formatting output, adding commands with snapins and modules, and working with objects and the pipeline. It encourages participants to use the skills in their jobs and asks them to provide feedback through session evaluations.
Rich Internet Applications con JavaFX e NetBeans Fabrizio Giudici
JavaFX is a software platform for creating rich internet applications (RIAs) using Java that can compete with Flash/Flex and Silverlight, it is based on Java and the JavaFX runtime and includes tools like JavaFX Script for building the user interface and NetBeans as an integrated development environment. JavaFX aims to simplify building RIAs with features like bindings, listeners and components while allowing access to the full Java runtime.
The document provides examples of refactoring techniques including Extract Method, Introduce Explaining Variable, Replace Temp with Query, Substitute Algorithm, and Extract Class. Extract Method breaks a long or complex method into smaller methods focused on specific tasks. Introduce Explaining Variable uses variables to make complex expressions more readable. Replace Temp with Query replaces temporary variables with query methods to avoid long methods. Substitute Algorithm replaces an complex algorithm with a simpler alternative. Extract Class extracts part of a class into its own class to separate responsibilities.
This document provides an overview of PowerShell, including what it is, how it solves security issues with existing scripting languages, basic commands, how to get help in PowerShell, variables, operators, regular expressions, arrays, hash tables, XML handling, snap-ins, the PowerShell IDE, and resources for learning more about PowerShell.
Groovy is a dynamic language for the Java Virtual Machine that simplifies programming through features like closures, properties, and built-in support for lists, maps, ranges, and regular expressions. The latest version 1.5 adds support for Java 5 features like annotations and generics to leverage frameworks that use them. Groovy can be integrated into applications through mechanisms like JSR-223, Spring, and Groovy's own GroovyClassLoader to externalize business rules, provide extension points, and customize applications.
A brief overview about how to write human readable and meaningful code. Here is described why and how to write meaningful names of variables or method, what to follow about writing a function for SRP / Open-Closed principle rule, when to write comments and rules of Code Formatting. Advantages of clean code is also described here.
This document provides instructions for Lab 4 of an information systems design course. The lab aims to build experience with fundamental PHP functions related to arrays, strings, and regular expressions. Students will modify PHP code snippets to work with multi-dimensional arrays, define and call functions, and perform string operations like searching and replacing text. The lab consists of 4 steps involving PHP code to demonstrate various PHP features and concepts.
This document provides instructions for Lab 4 of an information systems design course. The lab aims to build experience with fundamental PHP functions related to arrays, strings, and regular expressions. Students will modify PHP code snippets to work with multi-dimensional arrays, define and call functions, and perform string operations like searching and replacing text. The lab consists of 4 steps involving PHP code to demonstrate various language features like joining strings, defining functions, and using regular expressions.
This document provides an overview of DataMapper, an object-relational mapper (ORM) library for Ruby applications. It summarizes DataMapper's main features such as associations, migrations, database adapters, naming conventions, validations, custom types and stores. The document also provides examples of how to use DataMapper with different databases, import/export data, and validate models for specific contexts.
The document discusses PXB (Perl XML Binding), a module that generates Perl API classes from XML schemas, allowing XML documents to be easily mapped to and from Perl data structures. It outlines the motivations for PXB, describes its data model and how the API is built, and discusses features like SQL mapping, logging, and testing. Problems encountered include dependency failures and performance issues that are being addressed through optimizations and alternative parsing approaches.
Modern, Scalable, Ambitious apps with Ember.jsMike North
Emberjs is an opinionated web UI framework focused on developer productivity. I will introduce the basics of the framework, and provide several examples of where ember saves an unprecedented amount of time for dev teams. Additionally, I'll cover ember-cli, the extensible build tool that the Emberjs and Angular communities are depending on for code generation, asset compilation, and running tests
Exploring Ceylon with Gavin King - JUG BB Talk - Belrin 2014hwilming
The slide to the Java User Group Talk Exploring Ceylon from Gavin King.
Abstrakt:
Ceylon is a new programming language designed for writing large programs in teams. The language emphasizes readability, modularity, typesafety, and tooling. Ceylon programs execute on Java and JavaScript virtual machines. In this session, Gavin King will talk about the ideas behind Ceylon and demonstrate the language, its type system, its module architecture, and its IDE.
Speaker:
Gavin King leads the Ceylon project at Red Hat. He is the creator of Hibernate, a popular object/relational persistence solution for Java, and the Seam Framework, an application framework for enterprise Java. He's contributed to the Java Community Process as JBoss and then Red Hat representative for the EJB and JPA specifications and as lead of the CDI specification.
Now he works full time on Ceylon, polishing the language specification, developing the compiler frontend, and thinking about the SDK and future of the platform. He's still a fan of Java, and of other languages, especially Smalltalk, Python, and ML.
This document provides an introduction to DataWeave, a functional programming language for data transformations. It outlines some key concepts of DataWeave including that (1) it uses expressions instead of statements, (2) data is immutable, and (3) functions are the main tool for computation. The document recommends fully understanding functions and higher-order functions to effectively use DataWeave. It provides some practical tips for pattern matching, avoiding repeated calculations, and creating reusable functions through composition.
Domino Security Present and Future ConnectED Review - ICS.UG 2016ICS User Group
Aktuelle Verschlüsselungs-Standards für Domino
Aktuelle Informationen und geplante Features im Bereich Domino Security
Aktuelle Änderungen im Bereich Web-Server Zertifikate und das KeyRing Tool
Fragen und Anregungen - Jeder Zeit
Warum IBM mit Watson den Büroalltag revolutioniert - ICS.UG 2016ICS User Group
Verstehe Nutzerverhalten, um Aktivitäten zu unterstützen sowie Nutzerverhalten und Kontext, um Erkenntnisse bereitzustellen und aktiv weiterzuhelfen - lernend!
Cloud Update 2016 IBM Collaboration Solutions - ConnectionsCloud - ICS.UG 2016ICS User Group
Cloud...as a Service:
● Infrastructure as a Service (Softlayer an IBM Company)
● Plattform as a Service (IBM Bluemix)
● Software as a Service (IBM Connections Cloud)
● Business Process as a Service (Reisekostenabrechnung)
● Database as a Service (IBM Cloudant, IBM DB2)
OpenNTF - From Donation to Contribution - ICS.UG 2016ICS User Group
• Who we are and where we came from
• Donation is nice but..
Contribution is better
• What is a perfect Open Source Project
• How does OpenNTF support you
Virtual, Faster, Better! How to Virtualize the Rich Client and Browser Plugin...ICS User Group
• Getting started
What can you expect from this session?
What we typically SEE at customers
What we typically DO at customers
• To roam or not to roam: that is the question
IBM Notes in virtual environments (recommended)
• Best practices
• Installing IBM Notes | ICAA in virtual environments
(recipe)
• Summary
Find your data - using GraphDB capabilities in XPages applications - ICS.UG 2016ICS User Group
This document discusses using graph databases capabilities in XPages applications. It provides an overview of graph databases, examples of companies using graph databases, and terminology used in graph databases. It also demonstrates how to model and implement graph data in XPages applications using the OpenNTF Domino API, including defining node interfaces, initializing the graph, and creating edges between nodes.
XPages on IBM Bluemix: The Do's and Dont's - ICS.UG 2016ICS User Group
Prerequisites
•Best practices: design and data separation
•Using the DDE plugin vs. the CF commandline
•Understanding the "mysterious" MANIFEST.YML file
•Experiment: holding data in the XSP runtime
•Security considerations
•Plugins and extensions? No problem!
•Tipps & tricks
3 Gründe für Ihren Besuch des Vortrags
•Warum halte ich diesen Vortrag
•Gute Gründe für Notes und Domino
•Was passiert draußen im echten Leben?
•Migrationen
•Zurück zu Notes
•Koexistenz
•Mein persönlicher Ausblick
Smashdocs - Dokumente gemeinsam schreiben - ICS.UG 2016ICS User Group
SMASHDOCs ist eine neuartige, webbasierte Textverarbeitungssoftware
für alle Arten von Dokumenten, die Sie gemeinsam mit Kollegen oder Geschäftspartners
schneller und einfacher schreiben, korrigieren, abstimmen oder verhandeln wollen als bisher.
Smashdocs - Collaborative authoring & reviewing - ICS.UG 2016ICS User Group
The document discusses a new solution for simplified document collaboration and version control. It aims to make tracking changes, communicating edits, and collaborative authoring 10 times faster than other options like Word and Google Docs. The solution automatically highlights new changes for users without requiring comparing documents or proofreading. It integrates with existing web applications and aims to make the document collaboration process much easier and faster overall.
The document discusses modernizing applications and software development. It talks about moving from traditional client-server models to modern architectures like REST APIs and single page applications. It also discusses using modern technologies like JavaScript frameworks, responsive design, and NoSQL databases. The document advocates for continuous modernization to take advantage of new capabilities and reduce technical debt over time.
A collection of FIVE presentations given at the recent ATLUG Day of Champions event. The Impact of Mobile on Human Perception explore the changes that mobile is driving on user expectations of software. Lotus Notes: Live Long and Prosper look at trends in technology to predict the future for Notes applications. Three short (4-minute) presentations then give ideas and best practices on a range of techniques that can be used to prepare Notes applications for that future.
step-by-step setup of the OutSystems Cloud Connector, demonstrating how to establish secure connections with on-premises databases, APIs, and other private endpoints. Whether you are working with legacy systems, enterprise data, or restricted internal services, this session will equip you with the knowledge and best practices to seamlessly integrate them with your cloud applications.
A Bot Identification Model and Tool Based on GitHub Activity Sequencesnatarajan8993
These slides are presented at International Workshop on Bots in Software Engineering (BotSE) 2025 as a journal first presentation. The publication can be found at https://doi.org/10.1016/j.jss.2024.112287 and the RABBIT tool at https://github.com/natarajan-chidambaram/RABBIT.
The Business Dynamics of Quick Commerce.pdfRDinuRao
This research explores the transformative rise of Quick Commerce (Q-Commerce)—an advanced evolution of e-commerce that emphasizes ultra-fast delivery, typically within 15–30 minutes, using hyperlocal micro-fulfillment centers. With the rapid pace of urbanization and digitalization, Q-commerce is reshaping consumer expectations, retail strategies, and supply chain models.The seminar Presentation Report has been completed by me under the guidance of Dr. Varun Agarwal. The report investigates the pivotal components of this disruption across marketing, operations, sustainability, and long-term viability.
The study begins with a deep dive into consumer psychology, applying theories like Impulse Buying (Stern, 1962) and Maslow’s Hierarchy of Needs, highlighting how digital platforms exploit impulse-driven purchasing. Supported by Ajzen’s Theory of Planned Behavior, the research explains how attitudes, social norms, and perceived control influence the purchasing decisions in a fast-paced retail setting.
A core component of the research is marketing strategy. Q-commerce companies deploy AI-driven personalization, geo-targeting, influencer marketing, and loyalty programs to attract and retain customers. For instance, influencer-driven campaigns achieve conversion rates of up to 65%, showcasing their significance in a digital-first market.
Using secondary data from McKinsey, Deloitte, KPMG, Statista, and HBR, the paper presents compelling figures—Q-commerce grew from $0.5 billion in 2022 to $5.5 billion in 2025, with projections reaching $9.95 billion by 2029. The average order value has doubled, while CAGR stands at 4.5%, signifying rapid adoption. Despite the meteoric growth, the study critically assesses challenges to profitability, such as steep operational costs, steep discounts, and last-mile delivery expenses.
A comparative analysis of platforms—Blinkit, Swiggy Instamart, Zepto, BigBasket, and JioMart—reveals how market leaders differentiate through delivery speed, inventory accuracy, app integrations, and urban focus. Moreover, the research stresses the environmental and labor challenges that must be addressed—like packaging waste, carbon emissions, and gig worker instability.
The discussion extends into how Q-commerce forces traditional retailers to adapt, investing in EV logistics, dark stores, and sustainability measures. It underscores the AI-led shift in consumer behavior, and the need for balanced growth that prioritizes environmental responsibility and ethical labor practices.
In conclusion, the paper recommends a future roadmap for Q-commerce: promoting eco-friendly logistics, subscription models, fair employment, and policy alignment. It calls for future research to explore Tier-2 and Tier-3 city expansion and to craft long-term profitability frameworks. Ultimately, this study positions Q-commerce not just as a convenience, but as a catalyst for redefining urban retail economics and digital lifestyle
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...ASHISHKUMAR504404
Article 11 of the Convention on Elimination of All Forms of Discrimination (CEDAW) to which India is a party requires it to take all appropriate measures to eliminate discrimination against women in the field of employment. Equality in employment can be seriously impaired when women are subjected too gender specific violence such as Sexual Harassment at Workplace.
Article 21 of the Constitution which is related to a right to life and personal liberty, includes the right to live with dignity, and in the case of women, it means that they must be treated with due respect, decency and dignity at workplace. With more and more women joining the workforce, both in organized and unorganized sectors, ensuring and enabling working environment for women through legislation became imperative. To achieve this objective the sexual harassment of women at workplace bill was introduce in the Parliament, and was passed by both the house of Parliament and received the assent of the President on 22nd April 2013 It came in to force on 09.12.2013.
It is to provide for safe, secure and enabling environment to every women irrespective of her age or employment status by fixing the responsibility on the employer as well as the District Magistrate (D.M) or (A.D.M) of every district in the state as a District Officer and laying down the statutory redressal mechanism.
2025-05-04 A New Day Dawns 03 (shared slides).pptxDale Wells
Lesson 3 of 6 in a Heritage Bible Master Class study of "A New Day Dawns"
Heritage Bible Master Class meets every Sunday morning at 10:15 at the Heritage Palms Country Club, on the south side of Fred Waring, just east of Jefferson, in Indio, California. Please come check us out!
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...patricialago3459
Thanks to its digital transformation, society depends on software. This is expected to bring important benefits but at the same time is accompanied by worrisome constraints. The societal role of software and its engineering is not new. Nor is their need to be sustainable. But what does it mean, really? And how far have we come with our research?
This talk wants to trigger reflection on the research being done, its impact and its true contribution to the complex and urgent problems posed by both society and our planet.
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdfMinniePfeiffer
• For a full set of 640 questions. Go to
https://skillcertpro.com/product/microsoft-azure-data-fundamentals-dp-900-exam-questions/
• SkillCertPro offers detailed explanations to each question which helps to understand the concepts better.
• It is recommended to score above 85% in SkillCertPro exams before attempting a real exam.
• SkillCertPro updates exam questions every 2 weeks.
• You will get life time access and life time free updates
• SkillCertPro assures 100% pass guarantee in first attempt.
Icsug dev day2014_road to damascus - conversion experience-lotusscript and @formula to ssjs
1. The Road to Damascus –A Conversion Experience:
LS and @Formula to SSJS
2014/09/12 –Matthew Fyleman
2. Matthew Fyleman
21 Years as a Notes/Domino Developer
Mostly Working on:
Xpagesconversions
Product development
Who Am I?
3. When should you convert existing code?
Conversion Options
NotesAgent.run() with parameter doc
Search and Replace
Dedicated Tools
Search and Replace
Preparation
Introduction to Regular Expressions
Examples and Demonstration
Tips and Traps
Dedicated Tools
Questions
What am I talking about?
5. It is always going to be slow
GIGO
You will introduce new bugs
Re-developing will be quicker, cheaper and you will end up with a better result
But if you really must ...
What is the problem?
6. NotesAgent.run()
Quick and Dirty
Agent must run independently
Only use when agents are available and time is critical
Scheduled agents excluded –mostly!
Search and Replace
LotusScript-> JavaScript (and Java)
Less useful for @Formula
Dedicated Tools
@Formula
What are your options?
7. Search and Replace is most useful for LS conversion
Syntactically similar
Easiest if you do a little refactoring first
Option Declare
doc.field(0) -> doc.getItemValue(“Field“)(0)
Camel Case Notes Objects
Make Sure Method calls are consistently named
Best to Avoid All-In-One-Go
Function or Sub at a Time
Variable with one purpose in one location may have a different use elsewhere
Converting LotusScriptto SSJS -Preparation
8. Regular Expressions are your new BFF
Sophisticated Pattern Matching
Elements from search can be carried through to replace
The Search and Replace built in to DDE can use Regular Expressions
Useful outside LS conversion (e.g. Validation)
See Planet Lotus -http://planetlotus.org/profiles/ross-swick_97733
Regular Expressions
10. Tidy up first –Option Declare, remove clustering e.g.:
Dim xas Integer,yas Integer,zas Integer
We want to match any variable name in the pattern:
Dim <varname> As <Any valid type>
Fairly simple:
Dim[ ]+[A-Za-z0-9_]+[ ]+As[ ]+(Integer|String|Boolean|Double|Variant)
But how do we replace?
Modify the search:
Dim[ ]+([w]*)[ ]+As[ ]+String
Use this for replace
var1 = “”;
Starting Simple –Dim Statements
11. For Notes Objects, Things are simpler
Dim <varname> As Notes<rest of object name>
-Ignore ... As New NotesSessionfor now
Also, initialising in SSJS, = null is ok:
var<varname>:Notes<rest of object name> = null;
So our terms are:
Search:
Dim[ ]+([w]*)[ ]+As[ ]+(Notes[w]*)
Replace:
var1:2 = null;
Starting Simple –Dim Statements (2)
12. For the most part, simple S & R (but order is important):
End If to}
[ ]*Thento) {
Else[ ]+If[ ]*to } else if (
Else [ ]*to } else {
If[ ]* to if (
But what about:
If (x = 10) Then
Use Search: If[ ]+([w()[].<>" ]*)=([w()[].<> "]*)[ ]+Then
Use Replace: if (1==2) { -
NB: Works but not optimal!
Other comparison operators not a problem
A bit more complex –If Statements
13. The problem:
Session object is global in ssjs: ‘session’
In LS it is created:
Dim sessAs New NotesSession
Need to find all LS session objects, and replace with session
How do you get a list of session object names?
! –session objects
You need a coffee!
14. Java String Object has regexsearch and replace
String source = “Dim x As String”;
String result = source.replaceAll(“Dim[ ]+([w]*)[ ]+As[ ]+String”, “var$1 = “”;”);
Pattern and Matcher objects make this even more powerful
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(this.source);
intstartPos= 0;
while (m.find(startPos)) {
if (!itemList.contains(m.group(1))) {
itemList.add(m.group(1));
}
startPos= m.end() + 1;
}
Adding Java
15. Similar Issue to Session
Need to find all document object names, and replace field handling methods
Will probably need to handle dot notation
Arrgghh!
How do you search for dot notation?
<doc name>.([^GetItemValue])([0-9]+)
Still hard work!
Field Handling
16. There are other types than string!
Always review and test converted code thoroughly
Date handling is a pain
Script libraries can help here –Java?
Watch out for User interaction and particularly dialogues
Work out your strategies in advance!
Search and Replace –Tips and Traps
17. In some respects @Formula -> SSJS is easier than LS -> SSJS
@Formula JavaScript Wrappers help a lot
Mostly just ‘;’ to ‘,’, and converting lists to arrays
Some constructions are obvious:
@SetField(“Field”, Value);
Goes to:
doc.replaceItemValue(“Field”, Value);
Or
S: @SetField([ ]*([w”]*)[ ]*,[ ]*([w”]*)[ ]*);
R: doc.replaceItemValue(1, 2);
But there are some issues ...
Converting Formula
@
18. No direct equivalent in SSJS for *+, *= *>= etc. when applied to Lists
Need to plan for this
Java Class/Library to provide direct substitute
Unfortunately, Java does not permit operator overloading, so has to be a set of methods
Converting Formula –List Processing
@!
19. @If(@Contains(_WFData_neu;_Key);"";
@Do(
@Set("_Sachgebiet_Zuordnung";@DbLookup("NOTES":"NOCACHE";"":_ADM$StructureDB;"Workflows";"WFArbeitsanweisung";"Sachgebietzuordnung"));
@If(_Sachgebiet_Zuordnung = "" | !@Contains(_Sachgebiet_Zuordnung;_Key2);@Do(
@Prompt([Ok];"Hinweis";"In der System Struktur VBM wurde für das aktuelle Sachgebiet kein Workflow definiert. Das Dokument wird zum ehemaligen Kompetenzträger zurückgegeben, damit dieser ein neues Sachgebiet auswählen kann.");
@Set("_Kompetenzträger";Bearbeiter1);
@Set("_tmpintern";5)
);
@Do(
@Prompt([Ok];"Hinweis";"In der System Struktur VBM wurde für das aktuelle Sachgebiet ein neues Sachgebiet konfiguriert. Das Dokument wird zum Kompetenzträger zurückgegeben, damit dieser das neue Sachgebiet auswählen kann.");
@Set("_neues_Sachgebiet";@Left(@Right(_Sachgebiet_Zuordnung;_key2);"||"));
@Set("_Elements";@Elements(@Explode(@Left(@Left(@Right(_WFData_neu;"||Sachgebiet#");"||"); _neues_Sachgebiet) + _neues_Sachgebiet; "$" )));
@Set("_KompetenzträgerData";@Explode(@Left(@Right(_WFData_neu;"||Kompetenzträger#");"||"); "$"));
@Set("_Kompetenzträger";@Subset(@Subset(_KompetenzträgerData;_Elements);-1));
@Set("_tmpintern";6)
)
)
)
);
Converting Formula -@If, @Do and @While
@!!
20. Focusing on @If
•@Formula is a FUNCTION language
•@If is a function not a statement
•In practice:
@SetField(“Author”; @If(Status=“1”; Manager; Salesman));
•Needs to convert to:
if (Status == “1”) {
varauthor = doc.getItemValueString(“Manager”);
} else {
varauthor = doc.getItemValueString(“Salesman”);
}
doc.replaceItemValue(“Author”, author);
@!!!
21. Search and Replace can be used for @Formula -> SSJS ...
... but it can only take you so far
A dedicated tool can go further
Only real alternative to manual translation for complex statements
Time consuming to create
Still not a silver bullet
Tools
23. OpenNTF–www.openntf.org
RegexQuick Reference
http://www.night-ray.com/regex.pdf
Loads of websites for all aspects of regexdevelopment
Mastering Regular Expressions –Jeffrey E.F. Friedl– O’Reilly Publishing
Resources and Information