SlideShare a Scribd company logo
Make Your Data Work For You
Don’t end up in a ditch
because you weren’t aware
of roadblocks in your source code
Way #5 of 7 new ways to master your Domino application migration challenges
Franz Walder,
March 11, 2020
Speakers
Daniel Klas
Inbound Marketing Coordinator
@panagenda
Join the conversation using #iDNAApplications & @panagenda
Franz Walder
Product Manager
franz.walder@panagenda.com
I. Why you should care
II. The technical foundation
III. Three common use cases
Agenda
I. Why you should care
II. The technical foundation
III. Three common use cases
Agenda
I. Why you should care
II. The technical foundation
III. Three common use cases
Agenda
Make Your Data Work For You
Why you should care
Why you should care
Why you should care
clean up → low-hanging → analyze complexity /
unused DBs fruit re-develop apps /
change platforms
Why you should care
clean up → low-hanging → analyze complexity /
unused DBs fruit re-develop apps /
change platforms
Why you should care
clean up → low-hanging → source code
unused DBs fruit matters
Why you should care
clean up → low-hanging →  analyze complexity
unused DBs fruit  re-develop apps
 change platforms
 ...
Questions we hear a lot
• What is complex and what is not?
– How complex is my special database?
– How does the complexity of applications compare?
• What are roadblocks for my target scenario?
– Are there hard-coded references in my code?
– Are there design or code elements that may cause issues?
• What will it cost to migrate or modernize an application?
– Are there standard transformation paths?
– What kind of developer resources will I need?
Shout-out to …
… Code Similarity!
– Only 5-10% of your source code might be unique!
– Webinar #2 of this series
Why you should care
What Code Similarity can do for you:
• Drastically reduce effort of (re-)development
• Change profile of development resources you need
• Uncover lost template inheritance
– Open standard transformation paths
Make Your Data Work For You
The technical foundation
Technical foundation
Two ugly truths:
• Two DBs with the Same Design Template
will not necessarily have the same design
• Two databases with the Same Replica ID
will not necessarily have the same design
→ You want to make a very conscious decision on what you analyze
Technical foundation
How do you analyze your code?
• Domino Designer
is a place to start
• Lacks flexibility
• Lacks enterprise
capabilities
DXL: Domino XML Language
18
Why DXL?
19
• You will need flexibility that only very few approaches can provide
– Regex is one of them
– Having a text file is a start
• You typically want to analyze more than one database
– (if not all)
• You do not only want to search for code, but e.g., count
– Forms, views, actions, agents …
– Lines of code (per programming language)
– …
How DXL?
20
• Use notepad or similar to take a first look
– (Yes, that might be painful)
• Use XSLT → HTML
– (e.g. Comprehensive XSLT for DB design @OpenNTF)
• Tools like e.g. LotusScript Manager or Source Sniffer from OpenNTF
– Stay away from Lotus Analyzer
21
Just because you don’t have enough Headaches already …
Just because you don’t have enough headaches already
22
Having to deal with Remarks in code:
– %REM … %ENDREM
– (no)code ‘(apostrophe)
– REM
– (no)code : REM
– REM "comments";
– REM "comments“ ;
– REM {comments} ;
Just because you don’t have enough headaches already
23
It’s great what kind of Flexibility we have (to deal with):
– Var = “123“
– Var = “123“
– Var=“123“
– Var=‘123‘
– Var=_
“123“
– Var=FullTrim(|
123
|)
Just because you don’t have enough headaches already
24
@DbLookup(class:cache; server:db; view; key; fieldName; keywords)
@DbLookup(class:cache; server:db; view; key; columnNumber; keywords)
Challenge and Opportunity:
• Find all @DbLookups (and @DbColumns, …)
• Only flag the ones pointing to “other” databases
Just because you don’t have enough headaches already
25
And here is what that regular expression could look like:
(?iw)
@db(column|lookup)s*?
((s*??"notes?"|s*??"?")[^;]*;
(?!(?!s*??".+??"|s*?S+s*?:s*??".+??")|
s*??"?"(s*?:s*??"?")?s*?;|s*?@dbnames*?;|
s*?@subsets*?(s*?@dbnames*?;s*?1s*?)s*?:
s*?@subsets*?(s*?@dbnames*?;s*?-1s*?))
[^;]*;[^;]*;[^)]*)
26
Enough!
• Follow our blog for more details
(if you‘re into stuff like that)
• 3rd party solutions
that help are
available!
Make Your Data Work For You
Three common use cases
Three common use cases
• Moving your Domino applications from on-prem to the Cloud
• Migrating mail from Notes/Domino to a new platform
• Checking application compatibility with Nomad
Three common use cases
Cloud Migration
• Hard-coded names
– IP addresses, server names, user names, …
• External interfaces
– File system, libraries/DLLs, interfaces to SAP, Fax, …
• Dependencies on other DBs
• …
Three common use cases
Mail Migration
• Signed and/or encrypted mails
– IP addresses, server names, user names, …
• Address book fields
• Accessing the mail file
– Mails, Calendar, Todo, …
• Special mail content
– Document links, embedded views, …
• …
Three common use cases
Nomad Compatibility
• Java / XPages Code
• C-API calls without platform-specific “Declare”
• ODBC not supported
• 3rd party client extensions
– e.g. Adobe for PDF creation
• …
Three common use cases
Nomad Compatibility
• Java / XPages Code
• C-API calls without platform-specific “Declare”
• ODBC not supported
• 3rd party client extensions
– e.g. Adobe for PDF creation
• …
Shout-out to MarvelClient!
Analyze and Manage Notes Clients
Check out Free Essentials offering
for this use case!
There are a lot more use cases!
• Check out our sandbox for examples
– Dozens of rulesets, insights and regex patterns
Make Your Data Work For You
Where to go from here
Try iDNA Applications for yourself
• Try for yourself in our sandbox: https://www.panagenda.com/products/idna/
• Get a trial installation in your own environment: sales@panagenda.com
• Follow our blog: https://www.panagenda.com/blog/idna
• Join the conversation on Twitter: #iDNAApplications & @panagenda
Questions & Answers
Franz Walder
Product Manager
franz.walder@panagenda.com
Daniel Klas
Inbound Marketing Coordinator
@panagenda
Join the conversation using #iDNAApplications & @panagenda
Join us in our next webinar!

More Related Content

PDF
Engage 2020 - Best Practices for analyzing Domino Applications
PDF
Engage 2020 - Domino Application Strategy: Key insights for successful modern...
PDF
Engage 2020 - panagenda Workshop: All things Notes 11!
PDF
CollabSphere 2020 Live - HCL Notes 11.0.1 FP1 - Performance Boost Re-Reloaded
PDF
CollabSphere 2019 - Dirty Secrets of the Notes Client
PDF
Engage 2020 - HCL Notes V11 Performance Boost
PDF
CollabSphere 2020 Live - Virtual, Faster, Better! How to deploy HCL Notes 11....
PDF
MarvelClient for iOS - Client Management for Domino Mobile App
Engage 2020 - Best Practices for analyzing Domino Applications
Engage 2020 - Domino Application Strategy: Key insights for successful modern...
Engage 2020 - panagenda Workshop: All things Notes 11!
CollabSphere 2020 Live - HCL Notes 11.0.1 FP1 - Performance Boost Re-Reloaded
CollabSphere 2019 - Dirty Secrets of the Notes Client
Engage 2020 - HCL Notes V11 Performance Boost
CollabSphere 2020 Live - Virtual, Faster, Better! How to deploy HCL Notes 11....
MarvelClient for iOS - Client Management for Domino Mobile App

What's hot (16)

PDF
RNUG - HCL Notes V11 Performance Boost
PDF
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
PDF
HCL Digital Week Comes To #dnug47online - Domino/Administration
PDF
RNUG - HCL Notes 11.0.1 FP2 Upgrades: Easy — Fast — Seamless
PDF
CollabSphere 2020 Live - DeepDive Workshop - HCL Notes Client upgrades/deploy...
PDF
CollabSphere 2020 Live - HCL Notes 11.0.1 FP1 Upgrades: Easy - Fast - Seamless
PDF
RNUG - DeepDive Workshop - HCL Notes Client upgrades/deployments using Marvel...
PDF
1050: TDI Solutions Best Practises with IBM Connections Deployments - IBM Con...
PDF
BP1491: Virtual, Faster, Better - How to Virtualize the Rich Client and Brows...
PDF
RNUG - Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Citrix...
PDF
Engage 2018: IBM Notes and Domino Performance Boost - Reloaded
PDF
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...
PDF
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
PDF
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
PDF
Domino Tech School - Upgrading to Notes/Domino V10: Best Practices
PDF
CollapSphere 2019 - SUPERCHARGED HCL Notes V11 Upgrades
RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
HCL Digital Week Comes To #dnug47online - Domino/Administration
RNUG - HCL Notes 11.0.1 FP2 Upgrades: Easy — Fast — Seamless
CollabSphere 2020 Live - DeepDive Workshop - HCL Notes Client upgrades/deploy...
CollabSphere 2020 Live - HCL Notes 11.0.1 FP1 Upgrades: Easy - Fast - Seamless
RNUG - DeepDive Workshop - HCL Notes Client upgrades/deployments using Marvel...
1050: TDI Solutions Best Practises with IBM Connections Deployments - IBM Con...
BP1491: Virtual, Faster, Better - How to Virtualize the Rich Client and Brows...
RNUG - Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Citrix...
Engage 2018: IBM Notes and Domino Performance Boost - Reloaded
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
Domino Tech School - Upgrading to Notes/Domino V10: Best Practices
CollapSphere 2019 - SUPERCHARGED HCL Notes V11 Upgrades
Ad

Similar to Way #5 Don’t end up in a ditch because you weren’t aware of roadblocks in your source code (20)

PDF
Framing the Argument: How to Scale Faster with NoSQL
PPTX
Introducing Systems Analysis Design Development
PDF
The View - The top 30 Development tips
PPTX
Webinar: Scaling MongoDB
PDF
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
PPTX
Reading Notes : the practice of programming
PPT
Top 10 Scalability Mistakes
PDF
Lotusphere 2009 The 11 Commandments
PDF
DB2 and PHP in Depth on IBM i
PPT
Uklug 2014 connections dev faq
PPT
Top 30 Scalability Mistakes
PPT
Apache Con 2008 Top 10 Mistakes
PPTX
Introducing systems analysis, design & development Concepts
PDF
Silicon Valley Code Camp 2016 - MongoDB in production
PPTX
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
PDF
Introduction to column oriented databases in PHP
PPTX
"Hands Off! Best Practices for Code Hand Offs"
PDF
Architecting a Large Software Project - Lessons Learned
PDF
Lares from LOW to PWNED
PDF
Ad505 dev blast
Framing the Argument: How to Scale Faster with NoSQL
Introducing Systems Analysis Design Development
The View - The top 30 Development tips
Webinar: Scaling MongoDB
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
Reading Notes : the practice of programming
Top 10 Scalability Mistakes
Lotusphere 2009 The 11 Commandments
DB2 and PHP in Depth on IBM i
Uklug 2014 connections dev faq
Top 30 Scalability Mistakes
Apache Con 2008 Top 10 Mistakes
Introducing systems analysis, design & development Concepts
Silicon Valley Code Camp 2016 - MongoDB in production
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
Introduction to column oriented databases in PHP
"Hands Off! Best Practices for Code Hand Offs"
Architecting a Large Software Project - Lessons Learned
Lares from LOW to PWNED
Ad505 dev blast
Ad

More from panagenda (20)

PDF
Getting the Best of TrueDEM - June News & Updates
PDF
Domino IQ – What to Expect, First Steps and Use Cases
PDF
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
PDF
Getting the Best of TrueDEM – May News & Updates
PDF
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
PDF
HCL Nomad Web – Best Practices and Managing Multiuser Environments
PDF
Getting the Best of TrueDEM – April News & Updates
PDF
Teams Call Records: Treasure Trove or Pandora’s Box?
PDF
Teams Call Records: Eine Schatztruhe oder die Büchse der Pandora?
PDF
New Teams Client Architecture Autopsy, a Look Under the Hood
PDF
Architektur des neuen Teams Clients – Ein Blick unter die Haube
PDF
HCL Notes and Domino License Cost Reduction in the World of DLAU
PDF
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
PDF
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
PDF
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
PDF
Why Teams call analytics are critical to your entire business
PDF
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
PDF
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
PDF
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
PDF
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
Getting the Best of TrueDEM - June News & Updates
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Getting the Best of TrueDEM – May News & Updates
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices and Managing Multiuser Environments
Getting the Best of TrueDEM – April News & Updates
Teams Call Records: Treasure Trove or Pandora’s Box?
Teams Call Records: Eine Schatztruhe oder die Büchse der Pandora?
New Teams Client Architecture Autopsy, a Look Under the Hood
Architektur des neuen Teams Clients – Ein Blick unter die Haube
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Why Teams call analytics are critical to your entire business
De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...

Recently uploaded (20)

PPTX
ai tools demonstartion for schools and inter college
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
AI in Product Development-omnex systems
PPTX
Introduction to Artificial Intelligence
PDF
System and Network Administration Chapter 2
PDF
medical staffing services at VALiNTRY
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
How Creative Agencies Leverage Project Management Software.pdf
ai tools demonstartion for schools and inter college
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
ISO 45001 Occupational Health and Safety Management System
How to Choose the Right IT Partner for Your Business in Malaysia
AI in Product Development-omnex systems
Introduction to Artificial Intelligence
System and Network Administration Chapter 2
medical staffing services at VALiNTRY
Online Work Permit System for Fast Permit Processing
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Design an Analysis of Algorithms I-SECS-1021-03
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How Creative Agencies Leverage Project Management Software.pdf

Way #5 Don’t end up in a ditch because you weren’t aware of roadblocks in your source code

  • 1. Make Your Data Work For You Don’t end up in a ditch because you weren’t aware of roadblocks in your source code Way #5 of 7 new ways to master your Domino application migration challenges Franz Walder, March 11, 2020
  • 2. Speakers Daniel Klas Inbound Marketing Coordinator @panagenda Join the conversation using #iDNAApplications & @panagenda Franz Walder Product Manager franz.walder@panagenda.com
  • 3. I. Why you should care II. The technical foundation III. Three common use cases Agenda
  • 4. I. Why you should care II. The technical foundation III. Three common use cases Agenda
  • 5. I. Why you should care II. The technical foundation III. Three common use cases Agenda
  • 6. Make Your Data Work For You Why you should care
  • 8. Why you should care clean up → low-hanging → analyze complexity / unused DBs fruit re-develop apps / change platforms
  • 9. Why you should care clean up → low-hanging → analyze complexity / unused DBs fruit re-develop apps / change platforms
  • 10. Why you should care clean up → low-hanging → source code unused DBs fruit matters
  • 11. Why you should care clean up → low-hanging →  analyze complexity unused DBs fruit  re-develop apps  change platforms  ...
  • 12. Questions we hear a lot • What is complex and what is not? – How complex is my special database? – How does the complexity of applications compare? • What are roadblocks for my target scenario? – Are there hard-coded references in my code? – Are there design or code elements that may cause issues? • What will it cost to migrate or modernize an application? – Are there standard transformation paths? – What kind of developer resources will I need?
  • 13. Shout-out to … … Code Similarity! – Only 5-10% of your source code might be unique! – Webinar #2 of this series
  • 14. Why you should care What Code Similarity can do for you: • Drastically reduce effort of (re-)development • Change profile of development resources you need • Uncover lost template inheritance – Open standard transformation paths
  • 15. Make Your Data Work For You The technical foundation
  • 16. Technical foundation Two ugly truths: • Two DBs with the Same Design Template will not necessarily have the same design • Two databases with the Same Replica ID will not necessarily have the same design → You want to make a very conscious decision on what you analyze
  • 17. Technical foundation How do you analyze your code? • Domino Designer is a place to start • Lacks flexibility • Lacks enterprise capabilities
  • 18. DXL: Domino XML Language 18
  • 19. Why DXL? 19 • You will need flexibility that only very few approaches can provide – Regex is one of them – Having a text file is a start • You typically want to analyze more than one database – (if not all) • You do not only want to search for code, but e.g., count – Forms, views, actions, agents … – Lines of code (per programming language) – …
  • 20. How DXL? 20 • Use notepad or similar to take a first look – (Yes, that might be painful) • Use XSLT → HTML – (e.g. Comprehensive XSLT for DB design @OpenNTF) • Tools like e.g. LotusScript Manager or Source Sniffer from OpenNTF – Stay away from Lotus Analyzer
  • 21. 21 Just because you don’t have enough Headaches already …
  • 22. Just because you don’t have enough headaches already 22 Having to deal with Remarks in code: – %REM … %ENDREM – (no)code ‘(apostrophe) – REM – (no)code : REM – REM "comments"; – REM "comments“ ; – REM {comments} ;
  • 23. Just because you don’t have enough headaches already 23 It’s great what kind of Flexibility we have (to deal with): – Var = “123“ – Var = “123“ – Var=“123“ – Var=‘123‘ – Var=_ “123“ – Var=FullTrim(| 123 |)
  • 24. Just because you don’t have enough headaches already 24 @DbLookup(class:cache; server:db; view; key; fieldName; keywords) @DbLookup(class:cache; server:db; view; key; columnNumber; keywords) Challenge and Opportunity: • Find all @DbLookups (and @DbColumns, …) • Only flag the ones pointing to “other” databases
  • 25. Just because you don’t have enough headaches already 25 And here is what that regular expression could look like: (?iw) @db(column|lookup)s*? ((s*??"notes?"|s*??"?")[^;]*; (?!(?!s*??".+??"|s*?S+s*?:s*??".+??")| s*??"?"(s*?:s*??"?")?s*?;|s*?@dbnames*?;| s*?@subsets*?(s*?@dbnames*?;s*?1s*?)s*?: s*?@subsets*?(s*?@dbnames*?;s*?-1s*?)) [^;]*;[^;]*;[^)]*)
  • 26. 26 Enough! • Follow our blog for more details (if you‘re into stuff like that) • 3rd party solutions that help are available!
  • 27. Make Your Data Work For You Three common use cases
  • 28. Three common use cases • Moving your Domino applications from on-prem to the Cloud • Migrating mail from Notes/Domino to a new platform • Checking application compatibility with Nomad
  • 29. Three common use cases Cloud Migration • Hard-coded names – IP addresses, server names, user names, … • External interfaces – File system, libraries/DLLs, interfaces to SAP, Fax, … • Dependencies on other DBs • …
  • 30. Three common use cases Mail Migration • Signed and/or encrypted mails – IP addresses, server names, user names, … • Address book fields • Accessing the mail file – Mails, Calendar, Todo, … • Special mail content – Document links, embedded views, … • …
  • 31. Three common use cases Nomad Compatibility • Java / XPages Code • C-API calls without platform-specific “Declare” • ODBC not supported • 3rd party client extensions – e.g. Adobe for PDF creation • …
  • 32. Three common use cases Nomad Compatibility • Java / XPages Code • C-API calls without platform-specific “Declare” • ODBC not supported • 3rd party client extensions – e.g. Adobe for PDF creation • … Shout-out to MarvelClient! Analyze and Manage Notes Clients Check out Free Essentials offering for this use case!
  • 33. There are a lot more use cases! • Check out our sandbox for examples – Dozens of rulesets, insights and regex patterns
  • 34. Make Your Data Work For You Where to go from here
  • 35. Try iDNA Applications for yourself • Try for yourself in our sandbox: https://www.panagenda.com/products/idna/ • Get a trial installation in your own environment: sales@panagenda.com • Follow our blog: https://www.panagenda.com/blog/idna • Join the conversation on Twitter: #iDNAApplications & @panagenda
  • 36. Questions & Answers Franz Walder Product Manager franz.walder@panagenda.com Daniel Klas Inbound Marketing Coordinator @panagenda Join the conversation using #iDNAApplications & @panagenda
  • 37. Join us in our next webinar!