Conference: Engage 2024 in Antwerp
Type: Development – Session
Speakers: Julian Robichaux
Title: How to Prepare Applications for Notes 64-bit Clients
Abstract:
Why 64-bit? Do you need it? Is it painful to switch? Will your applications stop working? Do you have to rewrite everything? Will the new Java 17 break things? We have the answers to these questions and more!
Spoiler warning: 64-bit clients are here, and your applications are not ready. But not to worry; everything is fixable.
Join this session with Julian Robichaux from panagenda to find out how. He will guide you through this journey and give you all the tools, tips, and tricks you need to outmaneuver any dangers and pitfalls. Get started today!
Dive into these 64-bit topics:
+ HCL guidelines for updating applications
+ LotusScript: known issues, patterns to look for, debugger bugs, compiling with older Designers
+ API calls: parameters, dealing with structs, NotesSession.UseDoubleAsPointer
+ Java: Java 17, added/removed functionalities, compiler settings, XPages
+ Eclipse plugins
Developer Special: How to Prepare Applications for Notes 64-bit Clientspanagenda
Webinar Recording: https://www.panagenda.com/webinars/developer-special-how-to-prepare-applications-for-notes-64-bit-clients/
Why 64-bit? Do you need it? Is it painful to switch? Will your applications stop working? Do you have to rewrite everything? Will the new Java 17 break things? We have the answers to these questions and more!
Spoiler warning: 64-bit clients are coming, and your applications are not ready. But not to worry; everything is fixable.
Join this webinar special with Notes development legend and HCL Lifetime Ambassador Julian Robichaux to find out. He will guide you through this journey and give you all the tools, tips, and tricks you need to outmaneuver any dangers and pitfalls. Get started today!
Dive into these 64-bit topics
- HCL guidelines for updating applications
- LotusScript: known issues, patterns to look for, debugger bugs, compiling with older Designers
- API calls: parameters, dealing with structs, NotesSession.UseDoubleAsPointer
- Java: Java 17, added/removed functionalities, compiler settings, XPages
- Eclipse plugins
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Zpanagenda
Webinar Recording: https://www.panagenda.com/webinars/workshop-hcl-notes-14-upgrades-einfach-gemacht-von-a-bis-z/
Die Zeit ist fast gekommen: Notes 14 steht vor der Tür und bringt eine Fülle von neuen Funktionen mit sich. Mit dem sich abzeichnenden Ende des Produktsupports für HCL Notes 9 & 10 im Jahr 2024 ist es höchste Zeit, über ein Upgrade nachzudenken. Bisher haben Sie vielleicht gezögert, weil Upgrade-Projekte in der Regel langwierig, anstrengend und voller Stolpersteine sind. Aber das muss nicht sein. Erstinstallation oder Upgrade, Laptop oder virtuelle Infrastruktur – Sie können Upgrades in wenigen Minuten durchführen, ohne die Benutzer bei ihrer Arbeit zu stören. Sehen Sie wie!
In diesem spannenden Hands-On Workshop unter der Leitung des HCL Ambassador Marc Thomas erhalten Sie aus erster Hand Tipps und Anleitungen zur Konfiguration, Vorbereitung und Durchführung von blitzschnellen Installationen von HCL Notes 14 mit MarvelClient Upgrade. Auch für bestehende Anwender von MarvelClient Upgrade ist dies eine gute Auffrischungsveranstaltung mit Fokus auf Notes 14 – denn es wird unter anderem gezeigt, wie Sie bestehende Upgrade-Konfigurationen wiederverwenden können, um noch schneller zu werden.
Und das Beste: Wenn Sie MarvelClient Upgrade noch nicht kennen, können Sie mit unserer kostenlosen Version sofort loslegen und Ihr neu erworbenes Wissen in die Praxis umsetzen!
Was Sie lernen werden
- Upgrade von Notes-Clients von beliebiger Ausgangsversion/-konfiguration auf die gewünschte Zielversion und -konfiguration
- Upgradepakete konfigurieren und vorbereiten, inkl. Spezialbehandlung von Themen rund um Notes 14, wie zum Beispiel der Wechsel von 32-bit auf 64-bit
- Ausrollen und Durchführen der Upgrades mit MarvelClient ohne Endbenutzer zu stören oder Softwaredeployment verwenden zu müssen
- Pakete für die Erstinstallation auf neuen PCs schnüren
- Pakete für virtualle Umgebungen wie Citrix oder VDI, inklusive aller nötigen Optimierungen und Leistungsverbesserungen
How to Perform HCL Notes 14 Upgrades Smoothlypanagenda
Webinar Recording: https://www.panagenda.com/webinars/how-to-perform-hcl-notes-14-upgrades-smoothly/
HCL Notes 14 is coming out soon with many new features. Combine this with the fact that HCL will end their support for Notes 9 and 10 in 2024, and it is time to finally consider moving to a newer version.
You may have been hesitant so far because upgrades seem like long and arduous projects with many pitfalls. But it doesn’t have to be like that. Whether it is a fresh install or an upgrade, whether it is on a laptop, PC, or some virtual infrastructure – you can get upgrades done in minutes without disrupting users. Come and see how!
In this live, hands-on workshop HCL Ambassador Christoph Adler will show you in detail how you can use MarvelClient Upgrade to configure, prepare, and run the smoothest and fastest HCL Notes 14 installations ever. Even if you are already using MC Upgrade, it is a good refresher with a focus on what’s changed for Notes 14 and how you can re-use what you already have to be even faster.
The best part: if you don’t yet have MarvelClient Upgrade, you can immediately start using what you learn here, with our free version!
You will learn how to use MarvelClient Upgrade to
- Upgrade from any current Notes client configuration or version to your desired target configuration and version in a single, seamless step
- Configure and prepare upgrade packages and deal with Notes 14 specific issues, like the switch from 32-bit to 64-bit
- Deploy and run upgrade packages using MarvelClient without disrupting users or need for software deployment
- Create self-contained packages for initial installation of Notes 14 on new PCs
- Create packages for easy installation of Notes 14 on virtual platforms like Citrix and VDI including all needed optimizations and performance tweaks
The document provides an introduction to C++.NET Windows Forms course. It outlines topics that will be covered including OOP concepts in .NET, C++.NET console programming, debugging, Windows forms controls, drawing, collections, event handling, exception handling, file processing, and dynamic controls. It also provides brief introductions and overviews of the .NET framework, languages and tools, common language runtime, base class libraries, and Visual Studio.
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenpanagenda
This document provides an overview and agenda for a webinar on upgrading from HCL Notes 32-bit clients to 64-bit clients. It discusses the key differences and challenges including increased memory limits, changes to file paths, and ensuring compatibility with third-party add-ons. The presentation covers how to properly uninstall 32-bit clients, prepare the data directory, and install Notes 12.0.2 64-bit. It also notes potential issues like comparing platform types and declaring function calls may need adjustments for 64-bit. Maintaining compatibility with add-ons like MarvelClient and templates is also addressed.
All You Need to Know About HCL Notes 64-Bit Clientspanagenda
Webinar Recording: https://www.panagenda.com/webinars/all-you-need-to-know-about-hcl-notes-64-bit-clients/
Let’s face it, it took a while but now chances are that with the release of HCL Domino 12.0.2 there will finally be an HCL Notes 64-bit client! Time to get excited! Or maybe not? At first glance, you might think it’s a simple upgrade and you’re done. But when was life ever that simple?
Upgrading to an HCL Notes 64-bit client comes with quite a few things you want to consider. Such as changes in install location, problems with certain coding constructs in Domino applications, and third-party add-ins are just a few bumps on your road. And as with any new software, there are also considerations about performance, stability and security. You want to be prepared, of course.
In our webinar, about how to run HCL Nomad Configurations on any device we showed you that MarvelClient Roaming can help you solve many challenges. It enables you to automatically back up, restore, and share configurations (desktop, recent apps, settings, and more) among devices using Nomad.
Of course, we went a little further. So in our webinar and live demo about how to bring HCL Nomad and Domino together without SafeLinx, we showed you the skills needed to operate Nomad Web with Domino directly. By checking out the recordings, you can learn how to install and configure the Nomad Web Server, how it works from a user’s point of view, and in which scenarios you might want to keep using SafeLinx.
Join our webinar on January 31, and you will leave with a good understanding of any issues and considerations around the new HCL Notes 64-bit client which allows you to plan your way forward with confidence.
What you will learn
- How to install HCL Notes 64-bit clients from scratch
- How to upgrade old 32-bit clients
- Daily challenges when operating 64-bit clients
- A look at performance and stability
- Domino application design issues
- Third-party add-in dependencies
This document introduces .NET Core and its advantages over the .NET Framework. It discusses how .NET Core is cross-platform, uses the .NET Standard library, and can create self-contained applications. It also highlights how .NET Core applications are smaller, faster, and container-friendly. The document demonstrates how to use the dotnet CLI and publish .NET Core applications to reduce their deployment size. Overall, it promotes adopting .NET Core for its performance, portability, and familiar .NET APIs.
Developer Special: How to Prepare Applications for Notes 64-bit Clientspanagenda
Webinar Recording: https://www.panagenda.com/webinars/developer-special-how-to-prepare-applications-for-notes-64-bit-clients/
Why 64-bit? Do you need it? Is it painful to switch? Will your applications stop working? Do you have to rewrite everything? Will the new Java 17 break things? We have the answers to these questions and more!
Spoiler warning: 64-bit clients are coming, and your applications are not ready. But not to worry; everything is fixable.
Join this webinar special with Notes development legend and HCL Lifetime Ambassador Julian Robichaux to find out. He will guide you through this journey and give you all the tools, tips, and tricks you need to outmaneuver any dangers and pitfalls. Get started today!
Dive into these 64-bit topics
- HCL guidelines for updating applications
- LotusScript: known issues, patterns to look for, debugger bugs, compiling with older Designers
- API calls: parameters, dealing with structs, NotesSession.UseDoubleAsPointer
- Java: Java 17, added/removed functionalities, compiler settings, XPages
- Eclipse plugins
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Zpanagenda
Webinar Recording: https://www.panagenda.com/webinars/workshop-hcl-notes-14-upgrades-einfach-gemacht-von-a-bis-z/
Die Zeit ist fast gekommen: Notes 14 steht vor der Tür und bringt eine Fülle von neuen Funktionen mit sich. Mit dem sich abzeichnenden Ende des Produktsupports für HCL Notes 9 & 10 im Jahr 2024 ist es höchste Zeit, über ein Upgrade nachzudenken. Bisher haben Sie vielleicht gezögert, weil Upgrade-Projekte in der Regel langwierig, anstrengend und voller Stolpersteine sind. Aber das muss nicht sein. Erstinstallation oder Upgrade, Laptop oder virtuelle Infrastruktur – Sie können Upgrades in wenigen Minuten durchführen, ohne die Benutzer bei ihrer Arbeit zu stören. Sehen Sie wie!
In diesem spannenden Hands-On Workshop unter der Leitung des HCL Ambassador Marc Thomas erhalten Sie aus erster Hand Tipps und Anleitungen zur Konfiguration, Vorbereitung und Durchführung von blitzschnellen Installationen von HCL Notes 14 mit MarvelClient Upgrade. Auch für bestehende Anwender von MarvelClient Upgrade ist dies eine gute Auffrischungsveranstaltung mit Fokus auf Notes 14 – denn es wird unter anderem gezeigt, wie Sie bestehende Upgrade-Konfigurationen wiederverwenden können, um noch schneller zu werden.
Und das Beste: Wenn Sie MarvelClient Upgrade noch nicht kennen, können Sie mit unserer kostenlosen Version sofort loslegen und Ihr neu erworbenes Wissen in die Praxis umsetzen!
Was Sie lernen werden
- Upgrade von Notes-Clients von beliebiger Ausgangsversion/-konfiguration auf die gewünschte Zielversion und -konfiguration
- Upgradepakete konfigurieren und vorbereiten, inkl. Spezialbehandlung von Themen rund um Notes 14, wie zum Beispiel der Wechsel von 32-bit auf 64-bit
- Ausrollen und Durchführen der Upgrades mit MarvelClient ohne Endbenutzer zu stören oder Softwaredeployment verwenden zu müssen
- Pakete für die Erstinstallation auf neuen PCs schnüren
- Pakete für virtualle Umgebungen wie Citrix oder VDI, inklusive aller nötigen Optimierungen und Leistungsverbesserungen
How to Perform HCL Notes 14 Upgrades Smoothlypanagenda
Webinar Recording: https://www.panagenda.com/webinars/how-to-perform-hcl-notes-14-upgrades-smoothly/
HCL Notes 14 is coming out soon with many new features. Combine this with the fact that HCL will end their support for Notes 9 and 10 in 2024, and it is time to finally consider moving to a newer version.
You may have been hesitant so far because upgrades seem like long and arduous projects with many pitfalls. But it doesn’t have to be like that. Whether it is a fresh install or an upgrade, whether it is on a laptop, PC, or some virtual infrastructure – you can get upgrades done in minutes without disrupting users. Come and see how!
In this live, hands-on workshop HCL Ambassador Christoph Adler will show you in detail how you can use MarvelClient Upgrade to configure, prepare, and run the smoothest and fastest HCL Notes 14 installations ever. Even if you are already using MC Upgrade, it is a good refresher with a focus on what’s changed for Notes 14 and how you can re-use what you already have to be even faster.
The best part: if you don’t yet have MarvelClient Upgrade, you can immediately start using what you learn here, with our free version!
You will learn how to use MarvelClient Upgrade to
- Upgrade from any current Notes client configuration or version to your desired target configuration and version in a single, seamless step
- Configure and prepare upgrade packages and deal with Notes 14 specific issues, like the switch from 32-bit to 64-bit
- Deploy and run upgrade packages using MarvelClient without disrupting users or need for software deployment
- Create self-contained packages for initial installation of Notes 14 on new PCs
- Create packages for easy installation of Notes 14 on virtual platforms like Citrix and VDI including all needed optimizations and performance tweaks
The document provides an introduction to C++.NET Windows Forms course. It outlines topics that will be covered including OOP concepts in .NET, C++.NET console programming, debugging, Windows forms controls, drawing, collections, event handling, exception handling, file processing, and dynamic controls. It also provides brief introductions and overviews of the .NET framework, languages and tools, common language runtime, base class libraries, and Visual Studio.
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenpanagenda
This document provides an overview and agenda for a webinar on upgrading from HCL Notes 32-bit clients to 64-bit clients. It discusses the key differences and challenges including increased memory limits, changes to file paths, and ensuring compatibility with third-party add-ons. The presentation covers how to properly uninstall 32-bit clients, prepare the data directory, and install Notes 12.0.2 64-bit. It also notes potential issues like comparing platform types and declaring function calls may need adjustments for 64-bit. Maintaining compatibility with add-ons like MarvelClient and templates is also addressed.
All You Need to Know About HCL Notes 64-Bit Clientspanagenda
Webinar Recording: https://www.panagenda.com/webinars/all-you-need-to-know-about-hcl-notes-64-bit-clients/
Let’s face it, it took a while but now chances are that with the release of HCL Domino 12.0.2 there will finally be an HCL Notes 64-bit client! Time to get excited! Or maybe not? At first glance, you might think it’s a simple upgrade and you’re done. But when was life ever that simple?
Upgrading to an HCL Notes 64-bit client comes with quite a few things you want to consider. Such as changes in install location, problems with certain coding constructs in Domino applications, and third-party add-ins are just a few bumps on your road. And as with any new software, there are also considerations about performance, stability and security. You want to be prepared, of course.
In our webinar, about how to run HCL Nomad Configurations on any device we showed you that MarvelClient Roaming can help you solve many challenges. It enables you to automatically back up, restore, and share configurations (desktop, recent apps, settings, and more) among devices using Nomad.
Of course, we went a little further. So in our webinar and live demo about how to bring HCL Nomad and Domino together without SafeLinx, we showed you the skills needed to operate Nomad Web with Domino directly. By checking out the recordings, you can learn how to install and configure the Nomad Web Server, how it works from a user’s point of view, and in which scenarios you might want to keep using SafeLinx.
Join our webinar on January 31, and you will leave with a good understanding of any issues and considerations around the new HCL Notes 64-bit client which allows you to plan your way forward with confidence.
What you will learn
- How to install HCL Notes 64-bit clients from scratch
- How to upgrade old 32-bit clients
- Daily challenges when operating 64-bit clients
- A look at performance and stability
- Domino application design issues
- Third-party add-in dependencies
This document introduces .NET Core and its advantages over the .NET Framework. It discusses how .NET Core is cross-platform, uses the .NET Standard library, and can create self-contained applications. It also highlights how .NET Core applications are smaller, faster, and container-friendly. The document demonstrates how to use the dotnet CLI and publish .NET Core applications to reduce their deployment size. Overall, it promotes adopting .NET Core for its performance, portability, and familiar .NET APIs.
(ATS4-PLAT10) Planning your deployment for a 64 bit worldBIOVIA
Pipeline Pilot 9.0 requires 64-bit server deployments. For those planning to migrate from existing 32-bit deployments this session will outline the key differences between Linux and Windows, 32-bit-specific vs 64-bit functionality on Windows, and explore using the Component Reader to help identify and assess published protocols and components that might require modifications when deployed to a new platform.
(ATS4-PLAT10) Planning your deployment for a 64 bit worldBIOVIA
This document discusses planning a deployment for Pipeline Pilot 9.0 on a 64-bit server. It outlines key differences between Linux and Windows environments and identifies 32-bit components that may require modifications. It recommends using tools included with Pipeline Pilot to identify protocols and components dependent on 32-bit functionality to assess risks before migrating servers. Support resources are provided to help plan and execute the server migration.
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013midnite_runr
Patching Windows Executives with the Backdoor Factory is a presentation about binary patching techniques. It discusses the history of patching, how key generators and Metasploit patch binaries, and how the author learned to manually patch binaries. The presentation then introduces the Backdoor Factory tool, which can automatically patch Windows binaries by injecting shellcode into code caves. It demonstrates patching via code cave insertion, single cave jumps, and cave jumping. Mitigations like self-validation and antivirus are discussed.
Viva64: working up of 64-bit applicationsPVS-Studio
Viva64 is a static code analysis tool that helps detect errors and issues when porting C/C++ applications to 64-bit platforms. It integrates directly with Visual Studio 2005, allowing developers to check for 64-bit portability issues and incorrect code constructions. Viva64 can analyze entire projects and provides detailed diagnostics and references to help developers understand and fix issues. While it cannot replace full testing, using Viva64 during development can significantly improve code quality and reduce bugs when porting to 64-bit.
Outline of this handout:
Life without Containers - problem, solution, and advantages
What are containers? - practical approach
What are container images? - practical approach
Where to go next? - broadening the horizons
The document discusses computer programming concepts including what a computer is, what a program and programming are, different types of programs, compilation and linking of code, intermediate languages to achieve OS independence, and .NET framework which provides a common language infrastructure for developing distributed applications. It also discusses technologies like XML, SOAP, and WSDL that enable a common language for the internet.
ArangoDB is an open source, multi-model NoSQL database that is written in C++ and embeds Google's V8 engine to implement the higher levels of its functionality in JavaScript. Recently we decided to switch from C++03 to C++11 for the database kernel. In this talk I will first give a short overview of the software architecture of ArangoDB and proceed to tell you about our practical experiences with the switch to C++11. I will explain which of the parts of the "new" standard have been more important and which have been less useful, and I will report about the difficulties we encountered.
How to modernise WPF and Windows Forms applications with Windows Apps SDKMirco Vanini
The document discusses modernizing WPF and Windows Forms applications with the Windows App SDK. It provides an overview of the Windows App SDK and how it can help unify Windows UI technologies like WinForms, WPF, UWP, and WinUI. The Windows App SDK provides APIs for window management, activation, notifications, and more that can be used across desktop application types. It aims to simplify updating older .NET codebases to newer versions and take advantage of improvements in areas like performance, reliability, and tooling.
This chapter discusses various topics related to exploiting Windows including the Win32 API, DLLs, PE files, heaps, threading, DCOM, exception handling, and debuggers. It covers how the Windows API is implemented using DLLs, the structure and sections of PE files, how DLLs are loaded and relocated in memory, and how processes use multiple heaps and threads. It also explains how DCOM and DCE-RPC enable remote procedure calls and the security implications of this. The chapter concludes with an overview of debuggers like SoftICE, WinDbg, OllyDbg, and Immunity Debugger that are useful for exploit development.
Learn the java basic programming with example and syntaxchapter1-part-b.pptxGaytriMate
The document provides an overview of GUI programming in VB.NET, including an introduction to .NET framework components like CLR and MSIL. It discusses the VB.NET IDE, exploring tools like the solution explorer and toolbox. It also covers the compilation process from VB.NET to MSIL to native code using JIT, and defines namespaces and event handling in VB.NET.
Lino Telera presents on coding in containers. He discusses how containers can help address issues with traditional applications by allowing development and operations teams to work independently and enabling continuous integration and deployment. Containers isolate code and dependencies, making applications portable and scalable. Telera demonstrates building a simple Python web application, packaging it into a Docker container, and deploying it locally and to the cloud. He notes some challenges around stateful applications and databases in containers.
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\DevOpsGroup
Some DevOps lessons from the 2016 Microsoft Build conference that were presented at the London WinOps meetup in April 2016. Most of the material was taken from the Microsoft presentations available here - https://channel9.msdn.com/Events/Build/2016?wt.mc_id=build_hp
Conference: Engage2024 in Antwerp
Type: Workshop
Speakers: Florian Vogler, Henning Kunz, Christoph Adler
Title: Navigating the Future with The Hitchhiker's Guide to Notes and Domino 14
Abstract:
Embark on an exhilarating journey with industry trailblazers Florian Vogler, Henning Kunz, and Christoph Adler in this not-to-be-missed workshop at the forefront of the tech universe.
Get ready for a thrilling kick-off as we navigate the current state of the HCL universe, setting the stage for an exploration of the groundbreaking Notes and Domino 14. Discover the latest enhancements and revolutionary features that will redefine your experience.
In this interactive session, unlock a treasure trove of tips and tricks to elevate your utilization of version 14, both with and without the game-changing panagenda MarvelClient. Brace yourself for also diving into Nomad, Nomad Web, and VoltMX, expanding your horizons in the expansive HCL landscape.
Be a part of this exclusive opportunity to stay ahead in the ever-evolving world of HCL technologies. Your journey to mastering Notes and Domino 14 begins here.
And remember, in the spirit of intergalactic exploration, don't forget to bring your towel!
The document provides an overview of computers and programming languages, describing the hardware and software components of a computer system, the evolution of programming languages from machine code to modern high-level languages like C++, and the typical process of analyzing a problem, designing an algorithm to solve it, implementing the algorithm in code, and executing the program. It also gives examples of algorithms for calculating the perimeter and area of a rectangle to illustrate the problem-solving approach.
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
Moving Microsoft .NET Applications One Container at a Time
The document discusses moving Microsoft .NET applications to containers using Docker. It provides a brief history of .NET and how open source efforts have made it cross-platform. It then covers .NET Core, ASP.NET Core, and how the developer experience is now cross-platform. Hands-on demos show developing an ASP.NET Core app on Windows and running it in a Linux container on AWS. Finally, it discusses how AWS supports .NET and Docker through options like rolling your own, using Elastic Beanstalk, or Amazon ECS.
This document provides an overview of DevOPS concepts including containers, Docker, and related tools. It discusses what containers are and the differences between virtual machines and containers. It then covers how containers can be used by developers and systems engineers. Docker is introduced as a tool for running and managing containers. Dockerfiles are described as documents for assembling container images. Docker Compose is presented as a tool for defining and running multi-container applications. Examples are given for creating a simple container with Dockerfile and running it locally and sharing it publicly. Monitoring tools like cAdvisor are mentioned. The document ends with discussing continuous integration/deployment using tools like Gitlab and Jenkins to automate the build and deployment process.
Seven Steps of Migrating a Program to a 64-bit SystemPVS-Studio
The article describes the main steps which should be performed to correctly port 32-bit Windows applications on 64-bit Windows systems. Although the article is meant for developers using C/C++ in Visual Studio 2005/2008 environment, it will be also useful for other developers who plan to port their applications on 64-bit systems.
Seven Steps of Migrating a Program to a 64-bit SystemAndrey Karpov
The article describes the main steps which should be performed to correctly port 32-bit Windows applications on 64-bit Windows systems. Although the article is meant for developers using C/C++ in Visual Studio 2005/2008 environment, it will be also useful for other developers who plan to port their applications on 64-bit systems.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Contenu connexe
Similaire à De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf
(ATS4-PLAT10) Planning your deployment for a 64 bit worldBIOVIA
Pipeline Pilot 9.0 requires 64-bit server deployments. For those planning to migrate from existing 32-bit deployments this session will outline the key differences between Linux and Windows, 32-bit-specific vs 64-bit functionality on Windows, and explore using the Component Reader to help identify and assess published protocols and components that might require modifications when deployed to a new platform.
(ATS4-PLAT10) Planning your deployment for a 64 bit worldBIOVIA
This document discusses planning a deployment for Pipeline Pilot 9.0 on a 64-bit server. It outlines key differences between Linux and Windows environments and identifies 32-bit components that may require modifications. It recommends using tools included with Pipeline Pilot to identify protocols and components dependent on 32-bit functionality to assess risks before migrating servers. Support resources are provided to help plan and execute the server migration.
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013midnite_runr
Patching Windows Executives with the Backdoor Factory is a presentation about binary patching techniques. It discusses the history of patching, how key generators and Metasploit patch binaries, and how the author learned to manually patch binaries. The presentation then introduces the Backdoor Factory tool, which can automatically patch Windows binaries by injecting shellcode into code caves. It demonstrates patching via code cave insertion, single cave jumps, and cave jumping. Mitigations like self-validation and antivirus are discussed.
Viva64: working up of 64-bit applicationsPVS-Studio
Viva64 is a static code analysis tool that helps detect errors and issues when porting C/C++ applications to 64-bit platforms. It integrates directly with Visual Studio 2005, allowing developers to check for 64-bit portability issues and incorrect code constructions. Viva64 can analyze entire projects and provides detailed diagnostics and references to help developers understand and fix issues. While it cannot replace full testing, using Viva64 during development can significantly improve code quality and reduce bugs when porting to 64-bit.
Outline of this handout:
Life without Containers - problem, solution, and advantages
What are containers? - practical approach
What are container images? - practical approach
Where to go next? - broadening the horizons
The document discusses computer programming concepts including what a computer is, what a program and programming are, different types of programs, compilation and linking of code, intermediate languages to achieve OS independence, and .NET framework which provides a common language infrastructure for developing distributed applications. It also discusses technologies like XML, SOAP, and WSDL that enable a common language for the internet.
ArangoDB is an open source, multi-model NoSQL database that is written in C++ and embeds Google's V8 engine to implement the higher levels of its functionality in JavaScript. Recently we decided to switch from C++03 to C++11 for the database kernel. In this talk I will first give a short overview of the software architecture of ArangoDB and proceed to tell you about our practical experiences with the switch to C++11. I will explain which of the parts of the "new" standard have been more important and which have been less useful, and I will report about the difficulties we encountered.
How to modernise WPF and Windows Forms applications with Windows Apps SDKMirco Vanini
The document discusses modernizing WPF and Windows Forms applications with the Windows App SDK. It provides an overview of the Windows App SDK and how it can help unify Windows UI technologies like WinForms, WPF, UWP, and WinUI. The Windows App SDK provides APIs for window management, activation, notifications, and more that can be used across desktop application types. It aims to simplify updating older .NET codebases to newer versions and take advantage of improvements in areas like performance, reliability, and tooling.
This chapter discusses various topics related to exploiting Windows including the Win32 API, DLLs, PE files, heaps, threading, DCOM, exception handling, and debuggers. It covers how the Windows API is implemented using DLLs, the structure and sections of PE files, how DLLs are loaded and relocated in memory, and how processes use multiple heaps and threads. It also explains how DCOM and DCE-RPC enable remote procedure calls and the security implications of this. The chapter concludes with an overview of debuggers like SoftICE, WinDbg, OllyDbg, and Immunity Debugger that are useful for exploit development.
Learn the java basic programming with example and syntaxchapter1-part-b.pptxGaytriMate
The document provides an overview of GUI programming in VB.NET, including an introduction to .NET framework components like CLR and MSIL. It discusses the VB.NET IDE, exploring tools like the solution explorer and toolbox. It also covers the compilation process from VB.NET to MSIL to native code using JIT, and defines namespaces and event handling in VB.NET.
Lino Telera presents on coding in containers. He discusses how containers can help address issues with traditional applications by allowing development and operations teams to work independently and enabling continuous integration and deployment. Containers isolate code and dependencies, making applications portable and scalable. Telera demonstrates building a simple Python web application, packaging it into a Docker container, and deploying it locally and to the cloud. He notes some challenges around stateful applications and databases in containers.
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\DevOpsGroup
Some DevOps lessons from the 2016 Microsoft Build conference that were presented at the London WinOps meetup in April 2016. Most of the material was taken from the Microsoft presentations available here - https://channel9.msdn.com/Events/Build/2016?wt.mc_id=build_hp
Conference: Engage2024 in Antwerp
Type: Workshop
Speakers: Florian Vogler, Henning Kunz, Christoph Adler
Title: Navigating the Future with The Hitchhiker's Guide to Notes and Domino 14
Abstract:
Embark on an exhilarating journey with industry trailblazers Florian Vogler, Henning Kunz, and Christoph Adler in this not-to-be-missed workshop at the forefront of the tech universe.
Get ready for a thrilling kick-off as we navigate the current state of the HCL universe, setting the stage for an exploration of the groundbreaking Notes and Domino 14. Discover the latest enhancements and revolutionary features that will redefine your experience.
In this interactive session, unlock a treasure trove of tips and tricks to elevate your utilization of version 14, both with and without the game-changing panagenda MarvelClient. Brace yourself for also diving into Nomad, Nomad Web, and VoltMX, expanding your horizons in the expansive HCL landscape.
Be a part of this exclusive opportunity to stay ahead in the ever-evolving world of HCL technologies. Your journey to mastering Notes and Domino 14 begins here.
And remember, in the spirit of intergalactic exploration, don't forget to bring your towel!
The document provides an overview of computers and programming languages, describing the hardware and software components of a computer system, the evolution of programming languages from machine code to modern high-level languages like C++, and the typical process of analyzing a problem, designing an algorithm to solve it, implementing the algorithm in code, and executing the program. It also gives examples of algorithms for calculating the perimeter and area of a rectangle to illustrate the problem-solving approach.
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
Moving Microsoft .NET Applications One Container at a Time
The document discusses moving Microsoft .NET applications to containers using Docker. It provides a brief history of .NET and how open source efforts have made it cross-platform. It then covers .NET Core, ASP.NET Core, and how the developer experience is now cross-platform. Hands-on demos show developing an ASP.NET Core app on Windows and running it in a Linux container on AWS. Finally, it discusses how AWS supports .NET and Docker through options like rolling your own, using Elastic Beanstalk, or Amazon ECS.
This document provides an overview of DevOPS concepts including containers, Docker, and related tools. It discusses what containers are and the differences between virtual machines and containers. It then covers how containers can be used by developers and systems engineers. Docker is introduced as a tool for running and managing containers. Dockerfiles are described as documents for assembling container images. Docker Compose is presented as a tool for defining and running multi-container applications. Examples are given for creating a simple container with Dockerfile and running it locally and sharing it publicly. Monitoring tools like cAdvisor are mentioned. The document ends with discussing continuous integration/deployment using tools like Gitlab and Jenkins to automate the build and deployment process.
Seven Steps of Migrating a Program to a 64-bit SystemPVS-Studio
The article describes the main steps which should be performed to correctly port 32-bit Windows applications on 64-bit Windows systems. Although the article is meant for developers using C/C++ in Visual Studio 2005/2008 environment, it will be also useful for other developers who plan to port their applications on 64-bit systems.
Seven Steps of Migrating a Program to a 64-bit SystemAndrey Karpov
The article describes the main steps which should be performed to correctly port 32-bit Windows applications on 64-bit Windows systems. Although the article is meant for developers using C/C++ in Visual Studio 2005/2008 environment, it will be also useful for other developers who plan to port their applications on 64-bit systems.
Similaire à De05_panagenda_Prepare-Applications-for-64-bit-Clients.pdf (20)
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
Webinar Recording: https://www.panagenda.com/webinars/easier-faster-and-more-powerful-notes-document-properties-reimagined/
Have you ever felt frustrated by the small properties dialog in Notes? Had to create an agent or button to quickly change a field? Searched endlessly for the field you wanted to compare each time you selected a new document? Wished you could just make the damned thing bigger? Luckily, there is a solution – and you probably already have it installed! With the free panagenda Document Properties (Pro) you get the properties dialog you always needed. Big, resizable, full-text searchable. View multiple documents at once or compare them with a diff viewer. Modify any field, and finally have an easy way to handle profile documents for all users. Join HCL Lifetime Ambassador Julian Robichaux to discover how Document Properties can simplify your work and assist you daily when using Domino applications – in the client or the designer. You will never look back!
Key takeaways from this session
- What Document Properties is, which editions there are, and how you can find it in Notes and Domino Designer
- How you can search for and edit any field, compare documents, or CSV export all data
- How to find, edit, and even delete profile documents
- Which configuration settings are available to customize feature
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
Webinar Recording: https://www.panagenda.com/webinars/alles-neu-macht-der-mai-wir-durchleuchten-den-verbesserten-notes-eigenschaftendialog/
Haben Sie sich schon einmal über den zu kleinen Eigenschaftendialog in Notes geärgert? Mussten Sie einen Agenten oder eine Aktion erstellen, um schnell mal ein Feld zu ändern? Haben Sie jedes mal endlos nach dem zu vergleichenden Feld gesucht, nachdem Sie ein neues Dokument ausgewählt haben? Wollten Sie das verdammte Ding einfach nur größer machen? Zum Glück gibt es dafür eine Lösung – und sie ist wahrscheinlich bereits installiert! Mit dem kostenlosen panagenda Document Properties (Pro) erhalten Sie den Eigenschaftendialog, den Sie schon immer haben wollten. Größer, anpassbar, und im Volltext durchsuchbar. Sehen Sie mehrere Dokumente gleichzeitig oder vergleichen Sie mit einem Diff-Viewer. Ändern Sie beliebige Felder und haben Sie endlich eine einfache Möglichkeit, Profildokumente für alle Benutzer zu verwalten. Entdecken Sie mit HCL Ambassador Marc Thomas, wie Document Properties Ihre Arbeit vereinfachen und Sie bei der täglichen Verwendung
von Domino-Anwendungen unterstützen kann – im Client oder im Designer.
Sie werden es nicht bereuen!
Für Sie in diesem Webinar
- Was Document Properties ist, welche Editionen es gibt und wo es in Notes
und Domino Designer zu finden ist
- Wie Sie nach einem beliebigen Feld suchen und es bearbeiten,
Dokumente vergleichen oder alle Daten per CSV exportieren können
- Suchen, Bearbeiten und auch Löschen von Profildokumenten
- Welche Konfigurationseinstellungen verfügbar sind, um Funktionen anzupassen
- Wie Ihre Endbenutzer davon profitieren
- Sehen Sie alles in einer Live-Demo
Why Teams call analytics are critical to your entire businesspanagenda
Webinar Recording: https://www.panagenda.com/webinars/why-teams-call-analytics-is-critical-to-your-entire-business
Nothing is as frustrating and noticeable as being in an important call and being unable to see or hear the other person. Not surprising then, that issues with Teams calls are among the most common problems users call their helpdesk for. Having in depth insight into everything relevant going on at the user’s device, local network, ISP and Microsoft itself during the call is crucial for good Microsoft Teams Call quality support. To ensure a quick and adequate solution and to ensure your users get the most out of their Microsoft 365.
But did you know that ‘bad calls’ are also an excellent indicator of other problems arising? Precisely because it is so noticeable!? Like the canary in the mine, bad calls can be early indicators of problems. Problems that might otherwise not have been noticed for a while but can have a big impact on productivity and satisfaction.
Join this session by Christoph Adler to learn how true Microsoft Teams call quality analytics helped other organizations troubleshoot bad calls and identify and fix problems that impacted Teams calls or the use of Microsoft365 in general.
See what it can do to keep your users happy and productive!
In this session we will cover
- Why CQD data alone is not enough to troubleshoot call problems
- The importance of attributing call problems to the right call participant
- What call quality analytics can do to help you quickly find, fix-, and prevent problems
- Why having retrospective detailed insights matters
- Real life examples of how others have used Microsoft Teams call quality monitoring to problem shoot problems with their ISP, network, device health and more.
Conference: Engage 2024 in Antwerp
Type: Commercial – Session
Speakers: Henning Kunz
Title: Notes/Domino Licensing: Understand and Optimize DLAU results with panagenda solutions
Abstract:
panagenda is renowned for its robust and tested solutions designed to enhance and manage the Notes Client. Our offerings extend to proactively monitoring Domino infrastructures and analyzing the Domino-based application landscape. This includes comprehensive assessments of application inventory, usage, design similarities, and content. In this engaging session, we aim to illuminate a different aspect – the HCL Notes/Domino Licenses.
The community has been buzzing with excitement about HCL's new streamlined licensing model for Notes/Domino. As many of you are aware, HCL provides a tool called DLAU, which is crucial for determining the licenses associated with your Notes/Domino infrastructure. During our sponsored session, we will delve into how our two flagship panagenda products, iDNA for Applications (IFA) and Security Insider (SI), can play a pivotal role in comprehending, validating, and optimizing the results obtained through DLAU. Join us to discover how these tools can empower you in navigating the complexities of HCL Notes/Domino licensing.
Conference: Engage 2024 in Antwerp
Type: Administration & Development – Session
Speakers: Christoph Adler
Title: Navigating HCL Notes 14 Upgrades: A Comprehensive Guide for Conquering Challenges
Abstract:
In this session Christoph Adler will guide you systematically through the intricate process of mastering every challenge encountered in an HCL Notes 14 Upgrade project. Numerous changes from 32 to 64-bit architecture necessitate careful consideration and resolution within the upgrade package itself. This includes tasks such as uninstallation (incl. nice.exe in 32- and 64-bit), cleanup procedures (addressing old program and shareddata folders and more), migration the data folder and the very important notes.ini file, and meticulous installation practices (sorting order, command lines, parsing logs, etc.).
The session will also delve into pre-configuration essentials for new users, covering elements like the common folder, stub notes.ini, config file and others to ensure a seamless onboarding process. Emphasizing the impact of changes in bitness and folder locations in Notes 14, the discussion will explore considerations for Anti-Virus, DEP, AppBlocker and Security Software, highlighting their potential as game-changers for end-user performance.
Having thoroughly examined the aforementioned aspects, the session will conclude with an objective and candid comparison of various Notes upgrade methods, enabling participants to make informed decisions tailored to their specific project requirements.
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
Webinar Recording: https://www.panagenda.com/webinars/modern-roaming-for-notes-and-nomad-cheaper-faster-better-stronger/
Users want a seamless user experience across devices or after a reinstall. They don’t want to waste time finding and setting up all their configuration and applications again every time. What if they change or lose their device? Have multiple computers? Are on VDI/Citrix? Get a client update? Reset their device? An end-user should always have their UI and configuration exactly as they had it before.
In this webinar, HCL Ambassador Christoph Adler will show you how to easily solve these problems. Create roaming configurations that include all the UI elements and settings you need. Meet and exceed your users’ and organization’s expectations, with low network and disk impact, starting tomorrow!
What you will learn
- Using roaming to sync Notes configurations across different client versions and platforms
- How roaming can improve performance and reliability, especially on VDI/Citrix
- How to do a one-time migration of client configurations to Nomad
- Setting up continuous roaming for Nomad (both on mobile and web versions)
- Recovering previous client configurations on demand
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
Webinar Recording: https://www.panagenda.com/webinars/so-einfach-geht-modernes-roaming-fur-notes-und-nomad/
Wenn Nutzer mehrere Geräte nutzen oder ihr Gerät wechseln, neu installieren oder verlieren, wollen sie ihre Anwendungen, Benutzeroberfläche und Konfiguration nicht jedes Mal erneut anpassen. Das kostet Zeit und Nerven. Manche Nutzer verwenden auch mehrere Computer oder sind auf VDI/Citrix unterwegs. Wie kann ein Endbenutzer seine individuellen Einstellungen und Anwendungen in obigen Szenarien beibehalten?
In diesem Webinar erklärt Ihnen HCL Ambassador Marc Thomas, wie Sie solche Herausforderungen einfach meistern können. Erstellen Sie Roaming-Konfigurationen, die alle notwendigen Elemente und Einstellungen der Benutzeroberfläche enthalten. Erreichen und übertreffen Sie die Anforderungen Ihrer Nutzer und Ihres Unternehmens mit minimalem Netzwerk- und Festplattenaufwand – schon ab morgen!
Was Sie lernen werden
- Roaming zum Abgleichen von Notes-Konfigurationen über verschiedene Client-Versionen und -Plattformen nutzen
- Wie Roaming die Performance und Zuverlässigkeit steigern kann, vor allem bei VDI/Citrix
- So migrieren Sie einmalig Client-Konfigurationen zu Nomad
- Kontinuierliches Roaming für Nomad einrichten (für mobile und Web-Versionen)
- Bei Bedarf frühere Client-Einstellungen wiederherstellen
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
Webinar Recording: https://www.panagenda.com/webinars/why-device-wifi-and-isp-insights-are-crucial-to-supporting-remote-microsoft-365-users/
In an era dominated by users working remotely from home or other different settings, understanding the intricacies of the user’s “last mile” – with what device, what peripheral equipment and HOW they connect to the office network or Microsoft 365 services – is critical for optimizing user experiences. Knowing that it’s the CPU being overloaded when your CEO is having trouble during that important Teams Call or that the accountant’s failure to connect to his files is caused by his home router, and not Microsoft 365 is crucial. In this webinar Christoph Adler delves into the significance of comprehending the entire remote user journey and the impact device health, local/home/remote networking have on the users experience and quality of service. Join us to learn how User Experience monitoring can help you be more effective and successful in supporting remote workers.
In this session we will talk about
- How device Health and what’s going on on the remote devices directly influences user experience and overall productivity.
- What you should know about the impact that diverse home networks, bandwidth, latency, network stability and ISP can have on successful remote connectivity.
- The importance of the User’s Context: Understand why, with cloud, the only way to truly say anything about a user’s experience is if it’s done from the exact user context and location.
- Real-life examples of Impactful Insights: Explore real-world examples showcasing the need for hardware replacements based on user requirements, efficient software/driver installations, and the challenges posed by high volatility in local/home/remote networks and environments.
Why you need monitoring to keep your Microsoft 365 journey successfulpanagenda
Webinar Recording: https://www.panagenda.com/webinars/why-you-need-monitoring-to-keep-your-microsoft-365-journey-successful/
"Why should you even care about end-to-end monitoring and User Experience Monitoring?” Spoiler alert, you should!
In a world where Microsoft 365 and hybrid/remote work are becoming the norm, not the exception, you should be able to support your users end-to-end. Wherever they are and at whatever time. But with services in the cloud and users constantly moving around between home / remote networks as well as company-controlled infrastructure, traditional methods often struggle. Leaving out important factors that can impact your user’s ‘journey’ and giving you false or incomplete pictures of what’s really going on.
Join this 30min session by Christop Adler with real-life examples to learn more about what User Experience end-to-end monitoring really is, why it’s not the same as what traditional monitoring solutions offer and, most importantly, why it matters and what you should expect from it.
In this session we will talk about
- Traditional monitoring techniques vs modern
- ‘Expected normal’ vs industry benchmark monitoring.
- How User Experience Monitoring can help ensure quality of service, lift user satisfaction and drive productivity.
- Why other companies who started using it, can’t do without anymore.
- How you can greatly increase your user’s satisfaction rates and overall Microsoft 365 cloud success.
Everything You Need to Know About HCL Notes 14panagenda
Webinar Recording: https://www.panagenda.com/webinars/everything-you-need-to-know-about-hcl-notes-14/
The release of Notes 14 is not too far away. By the time you are joining this webinar it might even be out already. An exciting time! And there’s so much to consider: A new JVM, an updated Eclipse version, and the client is now exclusively 64-bit – just for a start. It’s the perfect time to consider if, when, and how you want to upgrade, and we have all the facts you need right here.
Join this webinar with HCL Ambassador and leading expert Christoph Adler to get the complete rundown of everything you need to know and do. Whether you have already started to plan your upgrade or are just considering the pros and cons, this is the session for you.
Get answers on questions like
- What’s new in Notes 14
- Is Notes 14 right for you (yet), or is Notes 12 a better choice
- What do you need to consider before upgrading
- What challenges come with 64-bit clients
- What are the know issues and workarounds
- What are the best tweaks to get the most out of Notes 14
Alles was Sie über HCL Notes 14 wissen müssenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/alles-was-sie-uber-hcl-notes-14-wissen-mussen/
Die Release von HCL Notes 14 ist immer noch in aller Munde. Wenn Sie an diesem Webinar teilnehmen, könnte die Version sogar schon verfügbar sein. Aufregend! Es gibt viel zu bestaunen: neue Version der JVM, neue Eclipse-Version, und der Client ist nur noch als 64-Bit-Version verfügbar – um nur einige Highlights zu nennen. Ein guter Zeitpunkt, um darüber nachzudenken, ob, wie und wann der Umstieg auf Notes 14 sinnvoll sein könnte. Seien Sie versichert, dass alle Antworten, die Sie brauchen, in diesem Webinar bekommen werden.
Nehmen Sie an unserem Webinar mit dem HCL-Botschafter und führenden Experten Marc Thomas teil. Sie erhalten einen umfassenden Überblick und können den geschäftlichen Nutzen, aber auch die Kosten einer Umstellung besser einschätzen. Alles, was Sie wissen müssen und tun sollten, egal ob Sie bereits mitten im Upgrade sind oder noch die Vor- und Nachteile abwägen.
Was Sie lernen werden
- Was ist neu in HCL Notes 14?
- Ist HCL Notes 14 die richtige Wahl für Sie oder ist Notes 12 besser?
- Was ist vor einem Upgrade zu beachten?
- Welche Herausforderungen bringen 64-bit Notes Clients mit sich?
- Welche Probleme sind bekannt und welche Lösungen gibt es?
- Tipps und Tricks, um das Meiste aus Notes 14 herauszuholen
The Ultimate Administrator’s Guide to HCL Nomad Webpanagenda
Webinar Recording: https://www.panagenda.com/webinars/the-ultimate-administrators-guide-to-hcl-nomad-web/
HCL Nomad Web is THE talk around the watercooler. More and more companies are looking into supplementing or outright replacing their Notes clients with this new browser based HCL solution. But doing so is a daunting prospect, given the many new technologies in play. To help you out, we went and collected everything you need to know in one place. Getting HCL Nomad Web up and running – start to finish, with live demos – only here!
Join HCL Ambassador Christoph Adler in this unmissable event for HCL administrators. Everything you see here you can put to good use immediately, as all tools are available with your HCL CCB license or are even free to use. Whether you already are using it, have just decided to start your HCL Nomad journey, or only want to see what it would mean to go down this path: if you don’t want to be left in the past, you must not miss this webinar!
What you will learn
- Understanding requirements, benefits, and limitations of HCL Nomad Web
- Installing HCL Nomad Web on the server (with or without HCL SafeLinx)
- Performing initial setup for end-users while preserving the workspace from their Notes clients
- Dealing with virtual infrastructures such as Citrix, VMWare, TS, and VDI
- Operating, optimizing, and troubleshooting on servers and clients
Die ultimative Anleitung für HCL Nomad Web Administratorenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/die-ultimative-anleitung-fur-hcl-nomad-web-administratoren/
HCL Nomad Web ist DAS heiße Thema in der Notes-Welt. Immer mehr Unternehmen erwägen, ihre HCL Notes-Landschaft mit Nomad Web zu ergänzen oder sogar komplett zu ersetzen. Es ist verständlich, dass die Veränderungen und neuen Technologien überwältigend wirken können. Um dem entgegenzuwirken, erfahren Sie in diesem Webinar alles, was Sie über Nomad wissen müssen – angefangen von den ersten Schritten bis hin zum endgültigen Rollout bei den Anwendern. Alles praxisnah und leicht verständlich erklärt.
Verpassen Sie auf keinen Fall dieses aufschlussreiche Webinar mit dem renommierten HCL Ambassador Marc Thomas. Gewinnen Sie wertvolle Erkenntnisse, die Sie sofort in die Tat umsetzen können, denn alles, was Sie brauchen, ist in Ihrer HCL CCB-Lizenz bereits enthalten oder kostenlos erhältlich. Egal, ob Sie bereits in die Welt von HCL Nomad Web eingetaucht sind, den Einstieg planen oder einfach nur neugierig sind, ob die Lösung auch für Sie geeignet ist – wenn Sie nicht in der Vergangenheit stecken bleiben wollen, sollten Sie dieses Webinar nicht verpassen!
Was Sie lernen werden
- Anforderungen, Vorteile, und Beschränkungen von HCL Nomad Web
- Installation auf dem Server (mit und ohne HCL SafeLinx)
- Initiales Setup für Endbenutzer inkl. Übernahme des bestehenden Notes Client Arbeitsbereiches
- Umgang mit virtuellen Infrastrukturen wie Citrix, VMWare, TS und VDI
- Betrieb, Optimierung und Fehlerbehebung auf Server und Client
Bring the Modern and Seamless User Experience You Deserve to HCL Nomadpanagenda
This webinar provided an overview of HCL Nomad and how it can upgrade users' time by providing a modern and seamless experience across devices. It demonstrated how Nomad Web and mobile can be analyzed using MarvelClient databases to stay on top of devices. It also showed how Nomad can be managed and configured for security and compliance using MarvelClient. Finally, it demonstrated Nomad Roaming which allows seamless roaming of user data between Nomad Web and mobile applications using MarvelClient licenses.
Wie man HCL Nomad eine moderne User Experience verschafftpanagenda
Webinar Recording: https://www.panagenda.com/webinars/wie-man-hcl-nomad-eine-moderne-user-experience-verschafft/
HCL Nomad ist die Zukunft des Clients. Sie erwarten sich eine moderne, nahtlose User Experience, aber stellen schnell fest, dass dies nicht einfach von selbst passiert. Die Benutzeroberfläche kann mühsam sein, einige Ihrer Domino-Anwendungen sind (noch) nicht auf Nomad ausgelegt, und die anstrengenden Realitäten von Roaming, BYOD, Browsern und mehreren Geräten kommt immer wieder zum Vorschein. Es gibt viel zu tun.
Nehmen Sie an diesem praxisnahen Webinar am 6. Juni teil, in dem einer der führenden Experten auf diesem Fachgebiet, Marc Thomas, demonstriert, wie Sie eine moderne, nahtlose User Experience schaffen, die die Erwartungen Ihrer Mitarbeiter:innen übertrifft. Sie können ganz vorne dabei sein, wenn es um Nomad Clients geht, die einfach funktionieren, Compliance-Richtlinien erfüllen, und Ihren Arbeitsaufwand verringern!
Dabei gehen wir besonders auf die folgenden Themen ein:
- Behalten Sie den Überblick über alle Geräte und Anwender:innen an einem Ort dank automatischer Inventur.
- Erfahren Sie mehr über Recent Applications und Workspaces in Nomad – und lernen Sie, diese zu meistern.
- Verwalten Sie Replikation für mobile Anwendungsfälle und verhindern Sie, dass unerwünschte oder inkompatible Anwendungen auf Nomad geöffnet werden.
- Konfigurieren Sie Nomad so, dass es reibungslos funktioniert und die Compliance-Anforderungen erfüllt.
- Geben Sie Anwender:innen eine Roaming-Konfiguration, die sie auf allen Geräten begleitet, egal was passiert.
Im Praxistest – Microsoft Teams Performance im hybriden Arbeitsalltagpanagenda
Webinar Recording: https://www.panagenda.com/webinars/im-praxistest-microsoft-teams-performance-im-hybriden-arbeitsalltag/
Der Zug der hybriden Arbeit ist unaufhaltsam. Um die Erwartungen von Anwendern und Unternehmen an einen modernen, hybriden Arbeitsplatz zu erfüllen, werden Cloud-basierte Kollaborationslösungen wie Microsoft Teams ständig um neue Funktionen und Integrationsmöglichkeiten erweitert. Dabei gehen Anwender und Unternehmen davon aus, dass ihr hybrider Arbeitsplatz jederzeit reibungslos funktioniert. Doch geht diese Rechnung auf?
Denn die immer neuen Herausforderungen im täglichen Betrieb halten nicht nur die IT-Teams in Atem, schlechte Benutzererfahrungen schlagen sich auch massiv auf die Stimmung der Anwender nieder. Schlimmer noch: Sie können sogar das Erreichen von Unternehmenszielen gefährden. Unternehmen, die gut aufgestellt sind, profitieren spürbar. Andere bleiben zunehmend auf der Strecke.
Für alle, die mehr erwarten.
Seien Sie mit dabei, wenn die beiden Microsoft 365 und Microsoft Teams Experten Michael Greth (MVP) und Stefan Fried (Senior Program Manager & Senior Consultant, panagenda) aus ihrer täglichen Praxis berichten. Erfahren Sie, welche Probleme sich hinter den Kulissen von Microsoft 365 und Microsoft Teams verbergen, wie sich diese auf die Unternehmensziele auswirken können und welche Lösungsansätze zur Verfügung stehen.
Über die Sprecher
Michael Greth, MVP
Michael Greth arbeitet als freier Berater und Trainer um Themen zu Themen der digitalen Transformation mit den Schwerpunkten Microsoft 365, SharePoint, Künstliche Intelligenz und Video im Unternehmen. Seit 24 Jahren ist er MVP (Most Valuable Professional) für Office Apps & Services.
Stefan Fried, Senior Program Manager & Senior Consultant, panagenda
Stefan Fried verfügt über mehr als 20 Jahre Erfahrung im Umfeld von Collaboration-Lösungen. Er ist seit 2013 Teil von panagenda und als Senior Program Manager & Senior Consultant von OfficeExpert und GreenLight tätig. Infrastrukturanalysen und Monitoring für panagenda-Kunden sind seine Spezialgebiete.
Diese und weitere Themen erwarten Sie:
- Der hybride Arbeitsplatz: Optimierungsstrategien für eine nachhaltig effiziente Arbeitsumgebung (Fokus: Microsoft Teams)
- Digital Experience Monitoring: Warum End-to-End in vielen Fällen nicht wirklich End-to-End ist
- Gewohnheiten neu gedacht: Microsoft Teams Experience Monitoring als Drehscheibe für mehr Effizienz
Hybrid Environments and What They Mean for HCL Notes and Nomadpanagenda
Webinar recording: https://www.panagenda.com/webinars/hybrid-environments-and-what-they-mean-for-hcl-notes-and-nomad/
Long gone are the days when IT had to manage a few systems that worked in silos. Closely intertwined systems from different vendors are becoming the norm – even for Nomad and Notes. But how do you operate a client when mail and calendaring live outside the HCL universe?
On May 04, join our webinar with HCL Ambassador Christoph Adler to discover how to conquer the challenges of operating in hybrid environments. Don’t miss out on field-proven best practices with clear steps to follow and turn this new reality into a win-win scenario!
What you will learn:
- Configuring Notes and Nomad to work smoothly without mail.
- Handling Domino applications that send mail.
Notes vs Nomad – make the right choice for a hybrid scenario and transition to Nomad painlessly if you decide to do so.
- Using this change to consolidate applications and improve performance.
Hybride Umgebungen und was sie für HCL Notes und Nomad bedeutenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hybride-umgebungen-und-was-sie-fur-hcl-notes-und-nomad-bedeuten/
Die Zeiten, in denen die IT-Abteilung ein paar Systeme verwalten musste, die relativ isoliert funktionierten, sind längst vorbei. Eng miteinander verknüpfte Systeme verschiedener Anbieter werden zur Norm – selbst für Nomad und Notes. Aber wie betreibt man einen Client, wenn Mail und Kalender außerhalb des HCL-Universums liegen?
Nehmen Sie am 4. Mai an unserem Webinar mit dem HCL Ambassador Marc Thomas und erfahren Sie, wie Sie die Herausforderungen des Betriebs in einer hybriden Umgebung meistern können. Erzielen Sie Erfolg mit erprobten Tipps aus der Praxis und einfach umsetzbaren Schritten, und genießen Sie das Beste aus beiden Welten!
Dabei gehen wir besonders auf die folgenden Themen ein:
- Erfahren Sie, wie Sie Notes und Nomad so konfigurieren, dass sie auch ohne E-Mail reibungslos funktionieren.
- Lernen Sie, mit Domino-Anwendungen die Mails versenden umzugehen.
- Notes vs. Nomad: Treffen Sie die richtige Wahl für ein hybrides Szenario und wechseln Sie problemlos zu Nomad, wenn Sie sich dafür entscheiden.
- Nutzen Sie diese Veränderung als Anlass Anwendungen zu konsolidieren und die Leistung zu verbessern.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfUndress Baby
The quest for the best AI face swap solution is marked by an amalgamation of technological prowess and artistic finesse, where cutting-edge algorithms seamlessly replace faces in images or videos with striking realism. Leveraging advanced deep learning techniques, the best AI face swap tools meticulously analyze facial features, lighting conditions, and expressions to execute flawless transformations, ensuring natural-looking results that blur the line between reality and illusion, captivating users with their ingenuity and sophistication.
Web:- https://undressbaby.com/
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
3. Agenda
➢ Why 64-bit?
➢ Which Client Am I Using?
➢ HCL Recommendations for 64-Bit
➢ LotusScript and API Calls
➢ Java
➢ Eclipse Plugins
➢ Q & A
4. Some Terminology
• We are talking about 32/64 bit applications, not operating systems
– Everyone should be on a 64-bit OS right now
– Platform == bitness of the application, not the OS
• We are talking about Windows
– Not Mac, Linux, iOS, etc.
– 32-bit == Win32 or x86
– 64-bit == Win64 or x64 or (confusingly) x86_64
• This presentation is as-of Notes 12.0.2 FP3 and Notes 14.0.0 FP1
– Some things might change or get fixed later!
– 14.0.0 FP1 just came out on 16 April 2024
6. Why 64-Bit?
• 32-bit applications still work on 64-bit Windows
– WOW64 redirection under the covers
– HKLMSoftware HKLMSoftwareWOW6432Node
– C:WindowsSystem32 C:WindowsSysWOW64
• 64-bit advantages
– More memory (virtual address space) per process: 128TB vs 4GB
• Not just process memory, also used for memory mapping files (less swapping)
• https://www.panagenda.com/blog/the-out-of-memory-mystery-in-notes-11
– More CPU registers available for use
• Potentially faster
• https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/x64-architecture
7. Better Security?
• Larger memory space allows for better address randomization
– ASLR high entropy randomization
– Viruses/exploits can’t guess where your applications are running in memory
• Win32 App Isolation in Windows 11
– https://blogs.windows.com/windowsdeveloper/2023/06/14/public-preview-improve-
win32-app-security-via-app-isolation
• 32-bit supporting libraries/programs not maintained
– Unmaintained software is potentially open to more exploits
8. Politics
• Some organizations have 64-bit only directives
• 32-bit programs seem “old”
• Even Microsoft struggles with this with Office
– Still has both 32- and 64-bit versions
– https://support.microsoft.com/en-us/office/choose-between-the-64-bit-or-32-bit-
version-of-office-2dee7807-8f95-4d0c-b5fe-6c6f49b8d261
9. Better Support Long Term
• Hard to support multiple versions of software
– Both HCL and you!
• Eclipse dropped 32-bit support in 2018
– Although 32-bit Java packages are still being built
• Pain of switching now will be worth it later
• Already did it with Domino servers years ago
– First Windows 64-bit Domino server was version 8.0.1 (2008)
– Last Windows 32-bit Domino server was version 9.0.1 (2013)
10. Domino vs Notes Client
• Didn’t we figure out all the issues when we switched to 64-bit Domino?
• So many differences…
– UI code
– Eclipse integration
– Third-party libraries and app integration
– Broader range of API calls (both Notes and Windows)
– Users do much crazier things than admins do
• Client has a lot more code running on a much wider variety of machines
12. How Do I Know?
• How do you know if you’re using a 64-bit client?
– Notes 14: it’s always 64-bit
– Notes 12.0.2: Help – About
– Notes 12.0.1 or earlier: 32-bit
• 12.0.2 is the only version
with both 32- and 64-bit
14. 64-bit Client: Registry
• 32-bit client has registry entries in WOW6432Node branch
– Use reg query with /reg:32 or /reg:64 and see which one works
– DANGER: sometimes a machine that used to have a 32-bit client still has the old
registry entries!
15. 64-bit Client: Check Java Version
• Run “java -version” from Notesjvmbin
– Look for 32-Bit or 64-Bit
16. 64-bit Client: Check Java Properties
• Or run: java -XshowSettings -version 2>&1 | findstr -i os.arch
– Check for “amd64” (64-bit) or “x86” (32-bit)
– Even machines with Intel processors report “amd64” for 64-bit Java
17. 64-Bit Client: Check for x86_64 Eclipse Plugins
• In Notesframeworkrcpeclipseplugins 64-bit client has x86_64 folders
18. 64-bit Client: In Your Code
• LotusScript
– NotesSession.Platform = "Windows/64"
• Formula
– @Platform() = "Windows/64"
• Java
– System.getProperty("os.arch").contains("64") &&
System.getProperty("os.name").contains(“Windows");
19. BONUS: Notes Client Version from Command Line
• You can check Notes client version (not bitness) from command line
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0101159
– nsd -version
– notes.exe -v notesver.txt
23. Guideline 1: 64-bit libraries
• 64-bit ODBC drivers to external data sources
– Also 64-bit NotesSQL/HCL ODBC driver to access the Notes client
– No longer available (EOM December 2022, EOS June 2024)
– HCL suggests using https://www.cdata.com/drivers/domino/odbc
• Any DLLs used as extension manager addins
– Virus scan, VOIP, MarvelClient!
• NotesPeek
– 64-bit version available on FlexNet
24. EXTMGR_ADDINS and 32-bit DLLs?
• What happens if you try to load a 32-bit DLL using ExtMgr_Addins?
– Nothing, just a weird 21:C1 error in console.log
– 21:C1 = ERROR_BAD_EXE_FORMAT : not a valid Win32 Application
26. Guideline 2: COM and OLE Compatibility
• Depends on how the called application handles COM/OLE calls
– Out-of-process COM servers use RPC, can potentially work with any bitness
– Can be designed to accept calls from 32- or 64-bit applications (“AnyCPU” or proxy DLLs)
– Needs registry entries in both the 32- and 64-bit CLSID branches
• https://web.archive.org/web/20190428064632/https://techtalk.gfi.com/32bit-object-64bit-environment
• https://stackoverflow.com/questions/38655598/lotus-domino-on-64-bit-system-could-not-create-automation-
object-error-208
• Try it and see what happens!
– I tried with some simple OLE calls to Microsoft Word…
27. Example: Calling Word using OLE
Dim wordApp As Variant
Dim wordDoc As Variant
On Error Resume Next
Set wordApp = GetObject("", "Word.Application")
On Error GoTo processError
If IsEmpty(wordApp) Then
Set wordApp = CreateObject("Word.Application")
End If
If IsEmpty(wordApp) Then
MessageBox "Could not create Word Application"
Exit Sub
End If
wordApp.Visible = True
wordApp.documents.Add
Set wordDoc = wordApp.ActiveDocument
Dim paragraph As Variant
Dim pos As Long
Set paragraph = wordDoc.Paragraphs(wordDoc.Paragraphs.Count).Range
pos = paragraph.End-1
Call paragraph.InsertAfter("Hello Clippy!")
'wordApp.Quit
Exit Sub
processError:
MessageBox "Error " & Err & " on line " & Erl & ": " & Error
Exit Sub
28. COM/OLE from Office to Notes
• Use Notes.NotesSession (OLE) not Lotus.NotesSession (COM)
– COM gives Run-time error ‘-2147221164 (80040154)’: Class not registered
29. Embedded OLE Objects on Documents
• Worked for me with 32-bit Notes client and 64-bit Office 365
• Embedded OLE object functions might have problems on 64-bit Notes
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0106900
Command 12.0.2 FP2 12.0.2 FP3 14.0.0 14.0.0 FP1
AutoLaunch: First OLE Object No No No No
NotesUIDocument.CreateObject No No No Yes
NotesRichTextItem.EmbedObject No No Yes Yes
30. So… Does 64-bit Notes Require 64-bit Office?
• I don’t know man… it depends?
• Light testing with different bitness:
– 64-bit Word + 32-bit Notes client agent: worked
– 32-bit Word + 64-bit Notes client agent: worked
– Office VBA to Notes worked for me using CreateObject(“Notes.NotesSession”)
– Embedded OLE object on document worked on 32-bit Notes, not always on 64-bit
• Your results may vary, depending on what you’re trying to do
• However, if you need to check the bitness of your installed version of Office,
here are some ways to do it
31. Task Manager: Look for “(32-bit)”
• While Word (or another Office program) is running, open Task Manager
– If it says “(32-bit)” after the program
name, it’s 32-bit
– If there’s nothing after the program
name, it’s 64-bit
32. Registry: Check the Path
• Run this from a command prompt or PowerShell:
reg query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp PathsWINWORD.EXE"
– If the path is “C:Program Files (x86)” it’s almost certainly 32-bit
– If the path is “C:Program Files” it’s almost certainly 64-bit
33. LotusScript: Find Bitness of Installed MS Word
Const SCS_32BIT_BINARY = 0 'A 32-bit Windows-based application
Const SCS_DOS_BINARY = 1 'An MS-DOS – based application
Const SCS_WOW_BINARY = 2 'A 16-bit Windows-based application
Const SCS_PIF_BINARY = 3 'A PIF file that executes an MS-DOS –
based application
Const SCS_POSIX_BINARY = 4 'A POSIX – based application
Const SCS_OS216_BINARY = 5 'A 16-bit OS/2-based application
Const SCS_64BIT_BINARY = 6 'A 64-bit Windows-based application
' only works on EXEs, not DLLs
Declare Function GetBinaryTypeA Lib "kernel32.dll" (_
ByVal lpApplicationName As String, _
lpBinaryType As Long) As Integer
'** find the path to the Word executable, e.g.
'** C:Program FilesMicrosoft OfficerootOffice16WINWORD.EXE
Dim RegValue As Variant
RegValue = Evaluate(|@RegQueryValue("HKEY_LOCAL_MACHINE";
"SOFTWAREMicrosoftWindowsCurrentVersionApp Paths
WINWORD.EXE"; "")|)
If (RegValue(0) = "") Then
MessageBox "Registry key not found"
Exit Sub
End If
Dim binaryType As Long
Dim result As Integer
result = GetBinaryTypeA(RegValue(0), binaryType)
If result = 0 Then
MessageBox "Call failed: " & result
ElseIf (binaryType = SCS_32BIT_BINARY) Then
MessageBox "32-bit application detected"
ElseIf (binaryType = SCS_64BIT_BINARY) Then
MessageBox "64-bit application detected"
Else
MessageBox "Unknown application bitness: " & binaryType
End If
37. LotusScript on Windows 64-bit clients
• In general, LotusScript works the same on 64-bit
– No functions/classes were removed
– No recompile necessary
• Potential issue with smaller stack size (recursive functions)
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0102290
• Max size of static String array is 4049 (was 8190 on 32-bit)
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0040725
• A couple functions that can cause problems when compiled on 64-bit
– If you compile on 64-bit and run on 32-bit, they don’t work correctly!
– If you compile on 32-bit, they work properly on both platforms
38. Compiled on 64-Bit, Broken on 32-Bit
• NotesView.GetAllEntriesByKey
– Specifically when using an array of Variants for a lookup key
– When compiled on 64-bit, causes “Invalid key value type” error when run on 32-bit
– If you use an array of Strings it might return the wrong result with no error!
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0102291
Sub Initialize
Dim session As New NotesSession
Dim key(1) As Variant
Dim vec As NotesViewEntryCollection
Dim v As NotesView
key(0) = "Value1"
key(1) = "Value2"
Set v = session.CurrentDatabase.GetView("Sorted")
Set vec = v.GetAllEntriesByKey(key, True)
MsgBox "vec.Count = " & vec.Count
End Sub
When compiled on 64-bit
Run on Result
64-bit e.g.: vec.Count = 1
32-bit Error: Invalid key
value type
39. Compiled on 64-Bit, Broken on 32-Bit
• Replace(str, arr1, arr2)
– Specifically when using an array of Strings for the search value
– When compiled on 64-bit, always returns “” when run on 32-bit
– There is no error! Fixed in 32-bit 12.0.2 FP3 , broken on all other (older) 32-bit clients
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0109692
Sub Initialize
Dim s As String, arr(7) As String
arr(0)=""
arr(1)="/"
arr(2)=":"
arr(3)="*"
arr(4)="?"
arr(5)="<"
arr(6)=">"
arr(7)="|"
s = "Hello : World"
s = Replace(s, arr, "")
MessageBox s
End Sub
When compiled on 64-bit
Run on Result
64-bit “Hello World”
32-bit “”
40. LotusScript Debugger: Buggy in 12.0.2, Better in 14
• Lots of fixes in 14 to solve Debugger problems you saw in 12.0.2
– 12.0.2 FP3 got some (all?) of these fixes too
41. Platform-Specific Code
• Code with NotesSession.Platform or IsDefined() needs to be reviewed
– Recommendation: use NotesSession.Platform = “Windows/64” for 64-bit code
– NotesSession.Platform = “Windows/32”
• WILL NOT RECOGNIZE 64-BIT
• 64-bit client is “Windows/64”
– Left(NotesSession.Platform, 3) = “Win”
• THINKS 32- AND 64-BIT ARE THE SAME
– IsDefined(“WIN32”)
• THINKS 32- AND 64-BIT ARE THE SAME
• IsDefined(“WIN64”) always False even on 64-bit client
42. C-API Calls
• If a parameter or return value is data, same as 32-bit
– STATUS, WORD, DWORD, int, long, etc.
• If a parameter is a LotusScript String, same as 32-bit
• If a parameter or return value is a Notes C-API HANDLE, same as 32-bit
– Still uses 32-bit sizes for backwards compatibility
• If a parameter or return value is a Windows HANDLE or a pointer…
– Use Long on 32-bit clients, Double on 64-bit clients
– Call session.UseDoubleAsPointer = True before you make the calls on 64-bit
– Call session.UseDoubleAsPointer = False after you make the calls on 64-bit
43. NotesSession.UseDoubleAsPointer
• NotesSession.UseDoubleAsPointer on 64-bit platforms
– Only required for API calls returning or using pointers/handles on a 64-bit client
– Set to True before the API code runs, False after it’s done
– https://help.hcltechsw.com/dom_designer/12.0.2/basic/
H_USEDOUBLEASPOINTER_METHOD_SESSION.html
– https://ds-infolib.hcltechsw.com/ldd/ddwiki.nsf/dx/C-Callouts_on_non-32-bit_Platforms
• NotesSession is shared by all code triggered from the client UI
– Buttons, actions, agents…
– Persistent setting across databases while the client is open
– If you set UseDoubleAsPointer in one place, you are setting it everywhere
• Does not seem to include code triggered by NotesAgent.Run
44. NotesSession.UseDoubleAsPointer
• Doesn’t work on Forms in 12.0.2 FP1/2
– E.g. buttons, actions, events…
– Error 156: “Property is not available on this object”
– Fixed in 12.0.2 FP3 and 14.0.0
• What if you might have to compile the code on a pre-12.0.1 client?
– UseDoubleAsPointer didn’t exist before 12.0.1, won’t compile
– Use an Execute statement… but make sure it only runs on 64-bit clients
– All 64-bit clients are guaranteed to recognize this property
If (session.Platform = "Windows/64") Then
Execute |Dim session As New NotesSession
session.UseDoubleAsPointer = True|
45. Test All Your C-API Calls
• Avoid using “Any” as a parameter type for pointers when possible
– Can work, but won’t autobox numerical values to the correct type/size
– Use a strict parameter type (Long or Double) whenever possible to avoid surprises
• Some things that worked on 64-bit 12.0.2 require changes for Notes 14!
– Also some things that worked on 12.0.2 FP1 require changes for 12.0.2 FP2/3
– 12.0.2 FP1 silently converted some handles to Long, FP2/Notes 14 does not
– Notes 14 is more strict about NotesSession.UseDoubleAsPointer
• Some things that worked on Notes 14 Beta require changes for GA!
– Same situation as 12.0.2
– You just have to test all the API calls and modify as needed
46. Notes C-API Example
Declare Function StatQueryTime Lib "nnotes.dll" (_
ByVal facility As String, _
ByVal statName As String, _
ByVal headerString As String, _
ByVal namePrefix As String, _
ByVal valuePrefix As String, _
ByVal lineSuffix As String, _
dhStats As Long, _ '** DHANDLE to a text buffer
dwStatsLength As Long) As Integer '** returns a STATUS
Declare Function OSLockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a pointer
Declare Function OSUnlockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a BOOL
Declare Function OSMemFree Lib "nnotes.dll" (_
ByVal dHandle As Long) As Integer '** takes a DHANDLE, returns a STATUS
Declare Sub CopyBufferToString Lib "nnotes.dll" Alias "Cmovmem" (_
ByVal lpSrc As Long, _ '** pointer to a source buffer
ByVal lpDest As String, _ '** destination string
ByVal lSize As Long) '** size of destination string
47. Notes C-API Example
Declare Function StatQueryTime Lib "nnotes.dll" (_
ByVal facility As String, _
ByVal statName As String, _
ByVal headerString As String, _
ByVal namePrefix As String, _
ByVal valuePrefix As String, _
ByVal lineSuffix As String, _
dhStats As Long, _ '** DHANDLE to a text buffer
dwStatsLength As Long) As Integer '** returns a STATUS
Declare Function OSLockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a pointer
Declare Function OSUnlockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a BOOL
Declare Function OSMemFree Lib "nnotes.dll" (_
ByVal dHandle As Long) As Integer '** takes a DHANDLE, returns a STATUS
Declare Sub CopyBufferToString Lib "nnotes.dll" Alias "Cmovmem" (_
ByVal lpSrc As Long, _ '** pointer to a source buffer
ByVal lpDest As String, _ '** destination string
ByVal lSize As Long) '** size of destination string
String, DHANDLE, STATUS,
and BOOL are fine
48. Notes C-API Example
Declare Function StatQueryTime Lib "nnotes.dll" (_
ByVal facility As String, _
ByVal statName As String, _
ByVal headerString As String, _
ByVal namePrefix As String, _
ByVal valuePrefix As String, _
ByVal lineSuffix As String, _
dhStats As Long, _ '** DHANDLE to a text buffer
dwStatsLength As Long) As Integer '** returns a STATUS
Declare Function OSLockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a pointer
Declare Function OSUnlockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a BOOL
Declare Function OSMemFree Lib "nnotes.dll" (_
ByVal dHandle As Long) As Integer '** takes a DHANDLE, returns a STATUS
Declare Sub CopyBufferToString Lib "nnotes.dll" Alias "Cmovmem" (_
ByVal lpSrc As Long, _ '** pointer to a source buffer
ByVal lpDest As String, _ '** destination string
ByVal lSize As Long) '** size of destination string
Pointers need to change from
Long to Double
49. Notes C-API Example
Declare Function OSLockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a pointer
Declare Function OSLockObject_64 Lib "nnotes.dll" Alias "OSLockObject" (_
ByVal dHandle As Long) As Double '** takes a DHANDLE, returns a pointer
Declare Sub CopyBufferToString Lib "nnotes.dll" Alias "Cmovmem" (_
ByVal lpSrc As Long, _ '** pointer to a source buffer
ByVal lpDest As String, _ '** destination string
ByVal lSize As Long) '** size of destination string
Declare Sub CopyBufferToString_64 Lib "nnotes.dll" Alias "Cmovmem" (_
ByVal lpSrc As Double, _ '** pointer to a source buffer
ByVal lpDest As String, _ '** destination string
ByVal lSize As Long) '** size of destination string
Make a copy of each Declare
(use the Alias keyword)
with a modified name
50. Notes C-API Example
Declare Function OSLockObject Lib "nnotes.dll" (_
ByVal dHandle As Long) As Long '** takes a DHANDLE, returns a pointer
Declare Function OSLockObject_64 Lib "nnotes.dll" Alias "OSLockObject" (_
ByVal dHandle As Long) As Double '** takes a DHANDLE, returns a pointer
Declare Sub CopyBufferToString Lib "nnotes.dll" Alias "Cmovmem" (_
ByVal lpSrc As Long, _ '** pointer to a source buffer
ByVal lpDest As String, _ '** destination string
ByVal lSize As Long) '** size of destination string
Declare Sub CopyBufferToString_64 Lib "nnotes.dll" Alias "Cmovmem" (_
ByVal lpSrc As Double, _ '** pointer to a source buffer
ByVal lpDest As String, _ '** destination string
ByVal lSize As Long) '** size of destination string
Pointers need to change from
Long to Double
51. Notes C-API Example
Dim session As New NotesSession
Dim buffer As Long
Dim bufferLen As Long
Dim bufferText As String
Dim pointer As Long
Call StatQueryTime("Stats", "Time.Start", "", "", Chr(9), Chr(10), buffer, bufferLen)
bufferText = Space(bufferLen)
pointer = OSLockObject(buffer)
Call CopyBufferToString(pointer, bufferText, bufferLen)
Call OSUnlockObject(buffer)
Call OSMemFree(buffer)
MsgBox bufferText
52. Notes C-API Example
Dim session As New NotesSession
Dim buffer As Long
Dim bufferLen As Long
Dim bufferText As String
Dim pointer As Double
Call StatQueryTime("Stats", "Time.Start", "", "", Chr(9), Chr(10), buffer, bufferLen)
bufferText = Space(bufferLen)
If (session.Platform = "Windows/64") Then
session.UseDoubleAsPointer = True
pointer = OSLockObject_64(buffer)
Call CopyBufferToString_64(pointer, bufferText, bufferLen)
session.UseDoubleAsPointer = False
Else
pointer = OSLockObject(buffer)
Call CopyBufferToString(pointer, bufferText, bufferLen)
End If
Call OSUnlockObject(buffer)
Call OSMemFree(buffer)
MsgBox bufferText
53. Windows API Example (get clipboard text)
Const CF_UNICODETEXT = 13
Const OS_TRANSLATE_UNICODE_TO_LMBCS = 23
'** 32-bit API calls
Declare Function OpenClipboard Lib "user32.dll" (ByVal hwnd As Long) As Long
Declare Function CloseClipboard Lib "user32.dll" () As Long
Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long
Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function GlobalSize Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function OSTranslateFromPtr Lib "nnotes.dll" Alias "OSTranslate" ( _
ByVal mode As Integer, _
ByVal strIn As Long, _
ByVal lenIn As Integer, _
ByVal strOut As LMBCS String, _
ByVal lenOut As Integer ) As Integer
54. Windows API Example (get clipboard text)
'** 64-bit API calls
Declare Function OpenClipboard_64 Lib "user32.dll" Alias "OpenClipboard" (_
ByVal hwnd As Double) As Long '** hwnd is a window handle
Declare Function GetClipboardData_64 Lib "user32.dll" Alias "GetClipboardData" (_
ByVal wFormat As Long) As Double '** returns a memory handle
Declare Function CloseClipboard_64 Lib "user32.dll" Alias "CloseClipboard" () As Long
Declare Function GlobalLock_64 Lib "kernel32.dll" Alias "GlobalLock" (_
ByVal hMem As Double) As Double '** hMem is a memory handle, returns a pointer
Declare Function GlobalUnlock_64 Lib "kernel32.dll" Alias "GlobalUnlock" (_
ByVal hMem As Double) As Long '** hMem is a memory handle, returns a BOOL
Declare Function GlobalSize_64 Lib "kernel32.dll" Alias "GlobalSize" (_
ByVal hMem As Double) As Long '** hMem is a memory handle, returns a size
Declare Function OSTranslateFromPtr_64 Lib "nnotes.dll" Alias "OSTranslate" ( _
ByVal mode As Integer, _
ByVal strIn As Double, _ '** strIn is a string pointer
ByVal lenIn As Integer, _
ByVal strOut As LMBCS String, _
ByVal lenOut As Integer ) As Integer
Same as before, but the window HANDLE and
memory HANDLEs all became Doubles too
55. Windows API Example (get clipboard text)
Function GetClipboard() As String
Dim session As New NotesSession
If (session.Platform = "Windows/64") Then
GetClipboard = GetClipboard64()
Exit Function
End If
Dim glbHandle As Long
Dim cbPointer As Long
Dim cbPointerLen As Long
Dim cbString As String
If OpenClipboard(0) Then
glbHandle = GetClipboardData(CF_UNICODETEXT)
cbPointer = GlobalLock(glbHandle)
cbPointerLen = GlobalSize(glbHandle)
cbString = Space(cbPointerLen)
Call OSTranslateFromPtr( OS_TRANSLATE_UNICODE_TO_LMBCS, _
cbPointer, cbPointerLen, cbString, cbPointerLen )
cbString = StrLeft(cbString, Chr(0))
Call GlobalUnlock(glbHandle)
Call CloseClipboard()
End If
GetClipboard = cbString
End Function
56. Windows API Example (get clipboard text)
Function GetClipboard64() As String
Dim session As New NotesSession
session.UseDoubleAsPointer = True
Dim glbHandle_64 As Double
Dim cbPointer_64 As Double
Dim cbPointerLen As Long
Dim cbString As String
If OpenClipboard_64(0) Then
glbHandle_64 = GetClipboardData_64(CF_UNICODETEXT)
cbPointer_64 = GlobalLock_64(glbHandle_64)
cbPointerLen = GlobalSize_64(glbHandle_64)
cbString = Space(cbPointerLen)
Call OSTranslateFromPtr_64( OS_TRANSLATE_UNICODE_TO_LMBCS, _
cbPointer_64, cbPointerLen, cbString, cbPointerLen )
cbString = StrLeft(cbString, Chr(0))
Call GlobalUnlock_64(glbHandle_64)
Call CloseClipboard_64()
End If
GetClipboard64 = cbString
session.UseDoubleAsPointer = False
End Function
57. How Do You Know?
• How do you know what’s a handle and what’s a pointer and what’s
something else?
• API Documentation!
– https://opensource.hcltechsw.com/domino-c-api-docs
– https://learn.microsoft.com/en-us/windows/win32/apiindex/windows-api-list
– https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types
• Also, either the code doesn’t work
or it crashes your client
58. Notes API
• NSPingServer
• ODSReadMemory
• OSLock
• OSLockBlock
• OSLockObject
• OSMemoryLock
• OSTranslate (if using pointers)
Windows API
• lstrcpyA / lstrcpyW
• RtlMoveMemory
• GetActiveWindow
• Get/SetClipboardData
• Anything with “Handle”
– GetModuleHandle, CloseHandle…
• Anything with “Process”
– OpenProcess, GetCurrentProcess…
• Anything with “Service”
– OpenService, QueryServiceStatus…
Some Common Calls to Check for
59. Special Handling: Types/Structs with Strings
• Be careful if you use custom Types that have Strings
– Types map to structs in C/C++
– String parameters in function calls are fine, it’s just Strings inside Types here
Option Public
Option Declare
Public Type testType
s As String
i As Integer
l As Long
End Type
Sub Initialize
'** If you compile this on a 32-bit client, Len(t) will be 10 on both a 32-bit and 64-bit client.
'** If you compile this on a 64-bit client, Len(t) will be 14 on both a 32-bit and 64-bit client.
Dim t As testType
Print "testType size is " & Len(t)
End Sub
60. Special Handling: Types/Structs with Strings
• Size of the Type will depend on which client you compile on
– If you compile on 32-bit client, the String params will be 4 bytes
– If you compile on 64-bit client, the String params will be 8 bytes
• Can cause alignment problems with C-API calls
• Can cause problems if you have to pass the size of the struct
– Windows API sometimes does this as a struct versioning technique
• Kind of an edge case, not very common to have Strings in C-API Types
– Usually Strings are parameters, or structs contain pointers
• Hopefully fixed in 14.0.1 (and maybe a fixpack)
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0105456
61. Special Handling: Types/Structs with Strings
• Option 1: use pointers (Long/Double) instead of Strings
– Only works for Strings being returned, not Strings being passed
– Use OSTranslate or lstrcpy to convert between pointers and Strings
Declare Function pointerToString_64 Lib "kernel32" Alias "lstrcpyA" (_
ByVal toString As String, _
ByVal fromPointer As Double) As Long
Type testType_64
ptr As Double '** String pointer, use Long for 32-bit
End Type
Declare Sub MyFunction_64 Lib "mydll" Alias “MyFunction" (tt As testType_64)
Sub Initialize
Dim tt As testType_64
Dim s As String*256
'** don't forget NotesSession.UseDoubleAsPointer before and after
Call MyFunction_64(tt)
Call pointerToString_64(s, tt.ptr)
Print "s = " & s
End Sub
62. Special Handling: Types /Structs with Strings
• Option 2: use Execute to dynamically compile and run
– Pass data to/from Execute block using public global variables
Public stringToPass As String
Public functionResult As Integer
Sub Initialize
stringToPass = "a beautiful string"
Execute |
Type testType
s As String
End Type
Declare Function SendTypeValue Lib "mydll" (tt As testType) As Integer
Sub Initialize
Dim tt As testType
tt.s = stringToPass
functionResult = SendTypeValue(tt)
End Sub |
Print "Result = " & functionResult
End Sub
64. 32-bit vs 64-bit Java
• In general, Java code that ran on 32-bit should work on 64-bit
– The JVM handles all the core language/platform things
– Be careful if you use JNI
– Search your code for System.loadLibrary calls
• Don’t forget to test your external/attached JAR files!
– They might make loadLibrary/DLL calls too
66. New in Notes 14: Java 17
• Notes had Java 8 since 9.0.1 FP8
– Lambdas, streams, most “modern” Java language features
– Still supported through at least November 2026, but getting old
– https://adoptium.net/support
• Notes 14 has Java 17
– A few new language features
– Many third party JAR files now require at least Java 11, if not 17
– Mostly backwards compatible, with a few exceptions…
67. Missing in Java 17
• Java EE classes: javax.xml.ws, javax.xml.soap, javax.xml.bind, and more
– Missing in Java 17 but included in Notes 14 GA for agents! (wasn’t in the betas)
• Effectively all the sun.*, com.sun.*, and jdk.* packages/classes
– sun.misc.BASE64Encoder / Decoder
• Also, com.ibm.misc.BASE64Encoder/Decoder has been gone since Notes 11
• Use java.util.Base64 classes instead (available since Java 8)
– com.sun.image.codec.jpeg.*
• Use javax.ImageIO (available since Java 1.4)
• Nashorn (or any) JavaScript engine
– e.g. ScriptEngineManager mgr = new ScriptEngineManager(); …
– No native replacement, maybe use GraalVM?
68. New going from Java 8 -> 17
• Awesome new NullPointerException messages!
– They actually tell you what’s null
• Interesting language enhancements
– Switch statement pattern matching
– Record data type
– “var” keyword
– Text blocks (easy multi-line text)
– HttpClient class
• Java Migration Guide
– https://docs.oracle.com/en/java/javase/17/migrate/getting-started.html
69. Java 17 jvm Folder
• Files in the jvm folder are different
– No more rt.jar and tools.jar
– Now just one big modules file
• Notes/jvm/lib/ext folder is now Notes/ndext
– Where external JAR files live
– notes.jar is there now too
• java.policy and java.security moved
– Used to be notes/jvm/lib/security
– Now in notes/jvm/conf/security
– cacerts is still in notes/jvm/lib/security though
71. JAVA COMPILER SETTINGS
• In Domino Designer
– File – Preferences – Java – Compiler
• Default in Notes 14 is Java 17
• XPages compiled as Java 17 WILL NOT WORK on older versions of Notes
client or Domino server
– Error 500 HTTP Web Server: Command Not Handled Exception
– dominodatadominoworkspacelogstrace-log-0.xml :
• java.lang.UnsupportedClassVersionError: JVMCFRE199E bad major version 61.0 of
class=xsp/MyXPage, the maximum supported major version is 52.0;
72. JAVA COMPILER SETTINGS
• If you have pre-Notes 14 clients or servers using XPages, ALL
DEVELOPERS should change compliance level to 1.8
• Not specifically a 64-bit thing, a Notes 14 thing
73. XPages Build Settings
• If you’re extra paranoid, turn Project – Build Automatically OFF
– So you don’t accidentally recompile XPages
– Sometimes all XPages in a database will recompile just by opening the database in
Domino Designer if this setting is on
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0107841
74. Domino 14 System.out
• Domino 14 no longer prints System.out or System.err to console or log
– If you’re used to looking for errors with scheduled Java agents in the server log, you
won’t find them
– Plans to fix, but didn’t make it for 14 FP1
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0112226
75. BONUS: Common Domino Designer Problems
• Java code editor doesn't find Java classes with content assist (control-
space), and you have to enter import statements by hand
– FIX: right-click database in Designer and choose "Remove...“
– Then reopen the database in Designer
• Design element properties panel gets stuck to the right sidebar instead of
below the agent code
– FIX: Window - Reset Perspective
• Code doesn’t have line numbers
– FIX: right-click the left “gutter” in the code window
and choose “Show line numbers”
– Java and LotusScript
77. 64-bit Notes Client Has 64-bit Eclipse
• Obviously
• In general, you shouldn’t notice a difference
• Third-party plugins only a problem if they specifically target x86
– Eclipse-PlatformFilter or Bundle-NativeCode in MANIFEST.MF of plugin
– “arch” setting for <plugin> entry in feature.xml
• Unusual for plugins to specify x86
– Usually only if they make native/DLL calls and use JNI
– Could be the case with VoIP plugins, for example
78. x86 Plugins
• How can I tell?
– No easy way using standard Eclipse tricks
– Look for “x86” in MANIFEST.MF in plugin.jar and feature.xml in feature.jar
– Import into Update Site database and look at plugin and feature docs
• What if I use/install an x86 plugin on a 64-bit client?
– Eclipse won’t even load it
– After install there might be a message in the trace log, but often nothing
• How do I make it work?
– Ask the vendor for an x64 version
79. PowerShell Script To Search for x86 (rough cut)
function SearchInFiles ([string]$Path) {
Add-Type -AssemblyName System.IO.Compression.FileSystem
# search in jar files (which are really zip files)
Get-ChildItem -Path $Path -Filter "*.jar" | ForEach-Object {
$zipFile = $_.FullName
$zipArchive = [System.IO.Compression.ZipFile]::OpenRead($zipFile)
$zipArchive.Entries | Where-Object {($_.Name -eq "feature.xml") -or ($_.Name -eq "MANIFEST.MF")} | ForEach-Object {
$stream = $_.Open()
$reader = New-Object System.IO.StreamReader($stream)
while ($line = $reader.ReadLine()) {
if (($line -like "*arch=x86*") -or ($line -like "*arch=?x86*")) {
Write-Host "$zipFile($_):$line"
}
}
$reader.Dispose()
$stream.Dispose()
}
$zipArchive.Dispose()
}
# search uncompressed features and plugins
ls -r -path $Path -filter feature.xml | select-string arch=`"x86`"
ls -r -path $Path -filter MANIFEST.MF | select-string arch=x86
}
# you could search in Notesframework too, but ignore the Notes client plugins
SearchInFiles("C:HCLNotesDataworkspaceapplicationseclipseplugins")
SearchInFiles("C:HCLNotesDataworkspaceapplicationseclipsefeatures")
80. SHA-1 Signatures No Longer Supported in Notes 14
• Plugins with SHA-1 signatures are “unsigned” in Notes 14
– Not specifically a 64-bit thing, a new Java restriction
– https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0109288
– Can still install plugins with old SHA-1 signatures if “Unsigned Plugin” is allowed
– Currently installed plugins with old signatures continue to work
• Re-sign your plugins with SHA-256 certificates if you need to
• Check META-INF/MANIFEST.MF in your old plugins if you’re curious
– Search for “SHA1-Digest”
– If you use the Update Site database, MANIFEST.MF is in the plugin and feature
documents
81. UpdateSite Database On 12.0.2 FP1/2 64-bit
• Can’t import plugins to Notes UpdateSite database using 12.0.2 FP1/2
64-bit client
– Problem on 64-bit Mac client for years, fixed in Notes 12.0.2 FP3 and 14.0.0
– For 12.0.2 FP1/2: use a 32-bit client or the OpenNTF version of the template at
https://www.openntf.org/main.nsf/project.xsp?r=project/Open%20Eclipse%20Update%20Site
83. A Few Recommendations
• If you’re upgrading to 64-bit, prefer Notes 14 to 12.0.2
– Many things got fixed, longer term support
– https://www.panagenda.com/webinars/how-to-perform-hcl-notes-14-upgrades-smoothly
• Be very careful compiling LotusScript in mixed 32/64 environments
– GetAllEntriesByKey and Replace bugs are not obvious!
• Be very careful compiling XPages using Notes 14
– Unless you change the Java compiler option to Java 1.8, or all your servers are v14
• Test and re-test your Notes API code
• Use the new HCL Download Portal for software downloads
– So much better than FlexNet -> https://my.hcltechsw.com
84. A Collection of Links
https://www.panagenda.com/kbase/display/mc/Useful+HCL+Links