Transcript Document
System Admin Stuff
The Local Product Repository
Managing Custom Code
LDAP Setup
The Local Product Repository
Managing Custom Code – Local Product Repo.
•
•
•
Local Product Repository is a database
Contains all Datatel delivered software
Includes things you have and have not licensed
•
Installing new software/modules much easier
•
•
•
•
Sign license agreement
Pay your bill
Install
SA Valet checks/updates your license with each software
download.
Managing Custom Code – Local Product Repo.
SA Valet updating your license as part of update process:
Managing Custom Code – Local Product Repo.
•
•
Local Product Repository contains ALL software
Components:
•
•
•
•
DMI (jar file) updates
Envision source/specs
Other types
LPR Populated three ways:
•
•
•
Datatel delivered from start (via DVD)
New software updates (download via SA Valet)
Your custom code
Managing Custom Code – Local Product Repo.
Connect to LPR and update with latest software updates:
Managing Custom Code – Local Product Repo.
New software updates ready for retrieval:
Managing Custom Code – Local Product Repo.
•
•
•
•
Local Product Repository requires little/no maintenance
Entirely managed from SA Valet
Communicates with each appenv as updates installed.
Think of as much improved Express Load repository
•
LPR can be anywhere:
•
•
•
On own, separate server from Database and APP
On same server as Database or APP
All on one server (LPR, Database, APP)
Toolkit Development / Management
Managing Custom Code – Best Practices
•
•
Custom code mostly similar to R17
A few subtle (but important) differences:
•
Oracle, SQL, Unidata distributed code MUST
1. Be in toolkit
2. Not perform direct Unibasic file I/O (READ/WRITE)
3. Not perform direct MIO calls
•
Unidata combined does not have these limitations
•
•
•
But STRONGLY RECOMMENDED
Non-compliant code may not work in future releases
If time to implement is short, focus on computed columns first
Managing Custom Code – File/Element Diffs
• Custom Development in toolkit mostly same.
• Some new fields on forms (mostly DE menu), such as
• DEL – Unenforced Secondary Pointer, Join File Key Routine
• FS – File as BLOB, File on App Server
• FS behaves a little differently
• FS used to create new file immediately
• Now new file not created until first element is added
• Some other subtle changes
• Mostly for Oracle, SQL or distributed Unidata
Managing Custom Code – File/Element Diffs
FS changes – File as BLOB, File on App Server
Managing Custom Code – Computed Columns
•
•
New language Java/J# “like” language.
All computed columns must be in new language
XSTC.ALIEN.FLAG:
string xResult1;
key xKeyForeignPerson for file ForeignPerson;
xKeyForeignPerson = vStcPersonId;
xResult1 = vFperAlienStatus;
return xResult1;
Managing Custom Code – Computed Columns
•
MGCC will migrate and convert your existing CC
•
Run your scanners NOW – early and often!
•
•
•
Now written and maintained in toolkit ONLY on DCC
DVF and RDVF are inq-only – do NOT use for CC
(Take DVF/RDVF away from ALL end users!)
•
All subroutines called by CC must be IS typed
Managing Custom Code – Computed Columns
•
DCC will generate two versions of each computed column:
1. Database version
2. Runtime version
•
Database version in language native to your database
•
•
•
Uniquery - PL/SQL - Stored procedure
Runtime version is Unidata subroutine which can be called
by any code/process.
GENing IS Subroutines produces two versions
1. Toolkit version (runtime use)
2. CC version (database use)
Managing Custom Code – Computed Columns
DCC will generate two versions of each computed column
Managing Custom Code – Computed Columns
GENing IS Subroutines produces two versions
•
•
Envision/runtime version produced like before
Database version produced after runtime:
Warning message is OK – Database doesn’t know COMMON
Managing Custom Code – Computed Columns
•
appl.CDD contains DCC source
•
•
RTGEN.SOURCE contains runtime subroutines
•
•
•
See new COMPUTED.COLUMN.CODE field
Both source and compilied (object) code
CC.SRC.DIR contains IS subroutine source code
DATATEL.OBJ contains IS subroutine object code
• Don’t edit these files directly – use DCC!
•
Examine them to learn how/what gets placed where.
Managing Custom Code – Computed Columns
•
•
•
SQL Server CC deployed as DLLs
Must place CC into ‘Bundles’
Must go thru Bundle Generation
•
•
JEFF O - perhaps reference SQL session for Herdy/Tina
Add anything you know that I don’t here…
Managing Custom Code – Moving Code
•
•
Development lifecycle not changed.
Best practice:
1.
2.
3.
4.
5.
6.
Start in development application environment
Move to test appenv for test/QA
Fix bugs and make changes back in development
Move back to test appenv for test/QA
(Repeat 3/4 as often as needed)
Move to production appenv once satisfied
Managing Custom Code – Moving Code
•
•
•
•
MDEF replaced by CDEC (Custom Declaration)
Works in precisely same manner as MDEF
No more Install account specified
File Specifications includes
•
•
•
•
Data elements (fields)
Computed Columns (all components)
Use SAVEDLISTS to narrow to specific ones
CDEC saves data in MOVEINFO local to that appenv
Managing Custom Code – Moving Code
MDEF replaced by CDEC (Custom Declaration)
Managing Custom Code – Moving Code
•
•
•
•
CPKG –Build Release Package - your new best friend
Replaces MTST
Can include one or more MOVEINFO (CDEC) records
Builds RELEASE_PKG (and other) records in LPR
•
•
•
•
•
Your package installed just like Datatel software updates
You can add pre/post install comments
You can specify prerequisites
You can rebuild a package (with changes) anytime
LPR will only install latest version of package
Managing Custom Code – Moving Code
CPKG –Build Release Package
• Package one or more CDEC records together
Managing Custom Code – Installing Code
•
•
•
CSUG – Create Software Grouping (UT)
Groups one or more Release Packages from LPR
Can install any software update anytime!
•
•
•
•
Software updates “know” prerequisites
You must accept all prereqs to install an update
No more date-driven software updates!
No more playing with dates to ‘fool’ Express Load
Managing Custom Code – Installing Code
CSUG – Create Software Grouping (UT)
Managing Custom Code – Installing Code
•
•
•
•
SUGS – Software Update Group Selection
Displays all software groups and status for that appenv
Can select one at a time to view/install/post install
Can also drill down to view
•
•
•
•
Documentation
Pre/Post Install
Items (files/records)
Can record your own comments for all or specific appenv
Managing Custom Code – Installing Code
SUGS – Software Update Group Selection
• Detail to ISUG to install update(s)
LDAP Setup
LDAP Configuration
• R17 LDAP was separate for each DMI listener
• Could have one DMI with LDAP authentication
• Could have another DMI with registry authentication
• R18 LDAP configured for entire appenv
• LDAP setting stored in DMIDEFAULTS
• Used for all DMI listeners in appenv
LDAP Configuration
•
•
•
•
•
•
WebAdvisor guest login must exist in LDAP
R17 did not require this
Some sysadmins do not want a ‘guest’ user in LDAP
Can change the ‘guest’ username to something else
Not sure where/if this is documented
Datatel walked us through steps:
•
•
•
•
•
Create new PERSON record
Create new ORG.ENTITY.ENV with different username
Change WebAdvisor to use new username
Add new guest username and password (*) to LDAP
Leave old guest login in ORG.ENTITY.ENV!
LDAP Configuration
Add server in SA Valet with Create LDAP Server:
Stored in DMIDIRSERV ‘LDAP’ record
LDAP Configuration
• Turn on/off LDAP with DMI Defaults tab
•
•
•
•
Can set Synchronization
Can set Authentication
Can allow/disable password changes
Stored in DMIDEFAULTS ‘DMIDEFAULTRECORD’
LDAP Configuration
Turn on/off LDAP with DMI Defaults tab
LDAP Configuration
• All admin usernames must exist in LDAP
•
•
•
•
•
•
dmiadmin
prodadmin
devadmin
testadmin
lpradmin
etc