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 See new COMPUTED.COLUMN.CODE field • RTGEN.SOURCE contains runtime subroutines

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. Start in development application environment 2. Move to test appenv for test/QA 3. Fix bugs and make changes back in development 4. Move back to test appenv for test/QA 5. (Repeat 3/4 as often as needed) 6. 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