martes, 16 de octubre de 2012

CA Clarity development I (concepts)

Concepts and differences:


Provide information in real time for CA Clarity PPM users, most suitable when your query data contains only one or two dimensions(metrics); from different objects

-Grid portlet. based in data from a dataprovider such as Object, System, Clarity Query (NSQL).  

Real only when dataprovider is a Clarity Query (NSQL).

If your grid contains virtual columns, the source data for those columns must be defined in the query that supplies data to the grid.

 --A hierarchical grid portlet can be used to show the structure of data that has more than one level. A parent row can have multiple child rows, and the data that shows in the parent row can be an aggregate of the child data.


Static List
Dynamic Query. NSQL is supported in Query.

Hidden key * : Lookup Code /Lookup Enum (type to use in database)
* Important to decide which type use before Save.

After choose hiddenkey
ID (enter once+unique): *
* will assigned to previously chosen field in hiddenkey

LOOKUP_CODE is character type on the database,(if chose "enum", it will contains same number)
LOOK_ENUM is numeric type on the database, use when values are numbers,(if chosen "code", it will contains 0)

"Object" not required for a Dynamic query
Parent Window tab
"Hidden Key" is associated to the field in the first SELECT sentence, (value will be stored in the destination attribute and database)
"Display Attribute":(Output field) will display the content of this field in the attribute, after lookup selection.

Lookup configuration is reset. After changes in Query, configuration for Display Attribute and Browse window has to be reconfigured. (Avoid surprises with config documentation)

Attribute Lookup(string)  and Hidden Key. Hidden key will pass the complete result to attribute but it is limited to 30chars, so a bigger string will give error "Error:Value is too large" (verified in v13.1)

Attribute "Data Type" takes its value when it is associated to a lookup for first time, so it will take the type of lookup output (Parent Window )

Be careful!!! because if you change the lookup output field and it has a different type then the attribute will display an error on the web. Furthermore the "Data type" of a lookup attribute is read only the first association to a lookup, so you need to create a new attribute with the correct "Data type".

How to pass parameters to the query:

  • from attribute mapping

Put  @WHERE:PARAM:USER_DEF:INTEGER:xxxx@ in the WHERE clause
Create an attribute and associate with previous lookup, press Save
Now, attribute showsin the bottom the section "Lookup Parameter Mappings"
Select an attribute to map to parameter; from the list of attributes available for this object.

*INTEGER or any other Data type.

  • from the web address (Xpath)

xxxx=field in the address such as id, projectid, object_id, etc...
value=returns the value after symbol "="

i.e /niku/nu#action:projmgr.projectProperties&id=1234567&classCode=project
returns 1234567

Note: be careful with this pameters because the query could not work as expected with other views containg the lookup, since views can have different fields in the web address.


-- line comment
/* */  multiline comment
Must be after the first SQL Sentence, ie
 -- ver. 1.2 Diciembre2012,

-Read only queries
-UPDATE, INSERT, and DELETE operations cannot be performed in NSQL.
-not recommend using NSQL for reporting or for stored procedures

-Dimension Properties Column

New lookup
In "Source" select "Dynamic Query", Submit/Save
In "Query" tab, "Query" text box, enter NSQL query, Save
In "Browse Window" click on the "Preview" button
(a window popup with the query results will be showed).

CA Clarity technical Administration

CA Clarity Administration stuff

Common network ports: 
Clarity app
http 80, 1024, ..
https 8043

http 8080

Clarity NSA
http 8090
https 8093

Configuration from NSA
BO config: Servers, Properties, reporting
DB config: Servers, Properties, Database
Java app config: Servers, Properties, Application
Logs: Servers, Logs

Version Upgrade
Check  "Data Model Changes" in "CAClarityPPM_ChangeImpactandUpgrade_Guide_ENU.pdf" file in order to be aware of changes in tables.

Queries and  Oracle databases

XOG compatibility

Clarity v.12.1 SP1
i.e. XOG
Clarity v.13
i.e. XOG

Testing XOG from Clarity web


Server info
i.e info:



Info about Servers Status, General metrics, Queue metrics

Flush Caches
Flushing caches


System Locks


 See Server Security Logs

Log filenames and messages:


Contains info about errors in scheduled reports and Jobs

ERROR 2013-05-24 18:30:03,137 [Dispatch pool-4-thread-2 : (tenant=clarity)] niku.njs (clarity:username:9333263__C1AA4D20-121B-43DE-B006-74E7A3366435:schedule_job_Autoschedule Project) Error executing job: 5041627
com.niku.union.utility.MessageKeyException: PRJ-SE04: Could not execute autoschedule job (5041647): Unparseable date: "21/05/2013"
    at com.niku.njs.Dispatcher$
    at java.util.concurrent.ThreadPoolExecutor.runWorker(
    at java.util.concurrent.ThreadPoolExecutor$

Wrapper Started as Daemon
Clarity initializing...
GMS: address=appservernamexxx-xxxxx, cluster=CLRTY-SA, physical address=x.x.x.x:ppppp
Clarity ready.
INFO: Server startup in 52214 ms
TERM trapped.  Shutting down.
Wrapper Stopped
niku.union (none:none:none:none) Clarity initializing...
niku.union (none:none:none:none) Initializing: tower...
niku.union (none:none:none:none) Initializing: monitor...
niku.union (none:none:none:none) Initializing: nsa...
niku.union (none:none:none:none) Initializing: wmd-init...
niku.union (none:none:none:none) Clarity ready.
config.TenantConfigurationManager (none:none:none:none) Properties/Database: id: clarity
niku.union (none:none:none:none) Destroying: tower...

[echo] CA Clarity Accelerator: Program Management Office installation was successful and is complete.
[echo] Check the install.log for errors that might not have been handled.
[echo] Package Installation Successful - 08-April-2013 21:00:01
[exec] Content Pack csp version has been deployed
[exec] DBTools Log - Mon Apr 08 22:28:02 CEST 2013
[echo] Clarity Solution Pack installation was successful and is complete.
[echo] Check the install.log for errors that might not have been handled.
(admin)     Following object(s) are invalid:

app-ca.log (application errors)
ERROR yyyy-mm-dd hh:mm:ss,mmm [http-bio-14001-exec-xxx] grid.EditListRowServiceImpl (clarity:username:sesionid:GetListContextByRow) Fatal error getting row metadata for project [projectid]
ERROR yyyy-mm-dd hh:mm:ss,mmm [http-bio-14001-exec-xxx] out.service (clarity:username:sesionid:GetListContextByRow) A RuntimeException encountered in Service. Converting to OSFApplicationException.
java.lang.RuntimeException: org.json.JSONException: JSONObject["column"] not found.

WARN  yyyy-mm-dd hh:mm:ss,mmm [http-bio-14001-exec-xxx] web.WebSession (clarity:username:xxxxxxxx__SESSION_ID:odf.filter) A request has been denied as a potential CSRF attack. Request Information-

(from Apache Tomcat)

serverip|[dd/mm/yyyy:hh:mm:ss +0200]|GET /address/file HTTP/1.1|aaa|bbb|cc|token

session id token: i.e. userdid__xxxxaxxe:xxxbaexxxax:-xxxxxxxxxxxxxxxxx
Userid is before the double underscore (__).
Finally, you can locate that user by selecting into the cmn_sessions table.

IP address of requestor
DateTime of the completed request
URL request
HTTP Status Code
Bytes sent back to the client (excluding the header)
Elapsed time of the request (in ms, can be subtracted from the DateTime to get the request startTime)
Clarity sessionId cookie (a distinct way to group requests, can be tied back to the sessions tables in Clarity to find the user)

- no results return to client for this field
aaa=code that the server sends back to the client
2xx= Successful
200= OK
3xx= Redirection
4xx= Error caused by the client
5xx= Error caused by the server

bbb= size of the object returned to the client, not including the response headers.
cc= elapsed time of the request

x.x.x.x|[dd/MM/yyyy:hh:mm:ss +0200]|GET /niku/ui/uitk/gwt/ HTTP/1.1|200|325759|1803|-
x.x.x.x|[dd/MM/yyyy:hh:mm:ss +0200]|GET /niku/wsdl HTTP/1.0|200|321|1|-

Debug Mode

XML output

XML Open Gateway (XOG)
web service interface that you can use to:
  *Import data
  *Export data
  *Move configuration data from one system to another
to read data from or write data to CA Clarity using XML and web services
GEL tags that can be used with XML for more advanced custom integration tasks
CA Clarity web services use XML messages that follow the SOAP standard.

jueves, 4 de octubre de 2012

CA Clarity / Openworkbench / Ms Project

Clarity and Opera
Browser compatibility

***Clarity PPM12/13
Web working on Firefox3/10/Opera

Firefox and Clarity
Firefox Toolbox for Clarity     

Firefox portable 3.6.28
+Addons (specific versions for FF3)
tabrenamizer-0.9.6-fx.xpi   (*)

tabrenamizer: rules for tab names

(*) Note: web addresses change between Clarity v12 and 13.
It is a pity that "tabrenamizer" doesn't support wildcards  :(

Chickenfoot Scripting for Clarity

Use CF foot methods and Javascript to automate tasks

Web differences between v12/v13
First line v12, second line v13

Web addresses
../niku/app?action=projmgr   (v12)
../niku/nu#action:projmgr (v13)
 button= "Class"="sectionBarBtn"
 button= "Class" ="ppm_button"

Default script folder:

Project Professional 2010 v14.0.6+CA Clarity PPM Microsoft Project interface


files related to Clarity/MSproject

When project is Saved to Clarity the mpp file is uploaded and stored in Clarity server
(PRDOCUMENT table  as BLOB information)

 Plugin for Ms Project files and folders

C:\Program Files (x86)\CA\Clarity\CA Clarity PPM MSPInterface
C:\Program Files (x86)\CA\Clarity\CA Clarity PPM Schedule Connect
file .VSTO
(Visual Studio Tools for Office) Visual Studio add-in (project templates)

C:\Program Files (x86)\CA\Clarity\CA Clarity PPM MSPInterface\data

to know which  version of Schedule connect is installed:
 java -cp "C:\Program Files (x86)\CA\Clarity\CA Clarity PPM Schedule Connect\lib\version.jar"

i.e output : Niku 13.0.1 Build 0102
                  Niku 12.1.2 Build 1260

info about last open projects and local path with mpp file

database connection data (host, login, port...

Openworkbench Advanced

***Openworkbench 1.1.6
Requires Java version 1.5 or later

***Openworkbench 2.0
Requires Java 1.7?


This software is an  interface between web browser and OpenWorkbench, so if our web browser cannot open project in OWB, you have to associate  MIME type to SCHEDLINK. 

SchedLink.exe" sched.nikusl  (by default Silent mode)
SchedLink.exe" /s /d  (setup with output)

Old path
"C:\Program Files\Clarity\Schedule Connect\bin\SchedLink.exe" sched.nikusl /d

New path
"C:\Program Files (x86)\CA\Clarity\CA Clarity PPM Schedule Connect\bin\SchedLink.exe" sched.nikusl /d

/s (setup in silent mode)
it just associate  NIKUSL object to Schedlink (Internet  Explorer)
(Registry: HKCR\MIME\Database\Content Type\application/nikuscheduler\Extension=.nikusl)

/d show output log to c:\SchedLink.log

 Openworkbench/MSP conection file (sched.nikusl)

A project is associated to a specific Scheduler by attribute "Scheduler Format"(Eng) or "Formato del programador" (Spa) (ID: prformat)

Available from UI, Schedule, Tracking

Depending of scheduler associated to a project, downloaded sched/sched.nikusl file will have one of following values:

sched = npWorkbench
sched = msp

Example of MSP (sched.nikusl) received from Clarity.
file = Projname
repo = NIKU
app = null
session = 7594029__D65BAB9D-5B2D-48DC-B282-9CC65AE806D5
projectId = 6037252
driver = HTTP
url =
sslLoginURL = null
sslHandling = SSL_FULL
userName = username
readWrite = false
sched = msp

Example of OWB file received from Clarity.

file = conection_test
repo = NIKU
app = null
session = 35022901__-b554f40:124971fe3a2:-78d61258623780532
projectId = 5203045
driver = HTTP
url =
sslLoginURL = null
sslHandling = SSL_NONE
userName = username
readWrite = true
sched = npWorkbench

lunes, 6 de agosto de 2012

Flowcharts, Mind maps, UML (Soft)

conceptDraw! flowchart

Concept Draw Pro(Win, MacOS)
A good alternative to Ms Visio, advantages over Visio are
multiplatform and portable version for Windows.
Flowcharts, UML, Mockup resources, OS interface components, etc..
Import:Visio XML, Powerpoint
Export: CDD, CDX(xml from conceptdraw), Visio XML, SVG, SWF
MacOs version available for PPC and Intel CPU
Version 9.2.5 included in ConceptDraw Office 2

Conceptdraw 9.2.5, mockup

Omnigraffle (MacOS)
Nice and easy diagramming software

Available for PPC and Intel CPU

Visio (Win)
A well know software but only available for Windows.

LibreOffice Draw (multiplatform)

LibreOffice Draw
It has a big name after it, is opensource and is portable. However,  in terms of usability and features is quite bad.

Export:ODG(ODF Drawing), FODG(Flat XML ODF Drawing)


-Freemind (Java multiplatform)(GPL)
Tested versions: 0.8, 1.0.1
Very stable and working correctly in MacOS.

-FreePlane (multiplatform)(GPL)
freeplan screenshot
Tested versions: 1.2.42b, 1.2.1, 1.3.12
(Win install/portable, Mac, Linux,..)
Export to: html, graphics,...
Fork of Freemind, and compatible with it. Many options but not a very clear interface

Note, a new node cannot be inserted from right button or toolbar but from
"Insert" key, or Edit, New node, New child node

Interesting features:
Outline view: View, View settings, Outline view

-X-Mind (Portable version, multiplatform)
Current version: 3
Unstable but working correctly in MacOS.




UML Violet
Very easy Java app which implements the following diagrams
  • use-case diagram
  • class diagram
  • Violet(Java) screenshot
    activity diagram
  • sequence diagram
  • state diagram
  • object diagram

miércoles, 16 de mayo de 2012

PIM Data conversion -Contacts, Calendar, Tasks, Memos,..

Replace a platform is a hard decision, and too many times implies data loss. After spend sometime looking for methods find below how I moved from Palm OS to Android.



General info.
PalmDesktop 4.1.4
Contacts: aba, csv, tab (Export all)
excel, Word (select all, send to)
vcf (vcard) (Select all, export to vcf) *

Tasks: tda (Export all)
excel, Word (select all, send to)
Memo: mpa, csv, tab, txt (Export all)
Word (select all, send to)
Calendar: dba

* works in PalmDesktop 6

General Info.
Import from SIM
Import from SD (vcf file in SD) *
Import from Google
* Classification category is lost

Palm contacts to Android contacts
Export from Palm Desktop as .vcf containing all contacts
Copy vcf file in Android SD
Import from SD in Android
Recreate categories in Phone or Kies manager

Palm Memos to Note Everything
Follow Note everything manual or
Export from Palm desktop to csv, import in excel and let the columns as

column1 =category
column2=memo content

Palm desktop to Android DejaOffice
DejaOffice has its own contacts, memos, tasks, so syncronization will not affect to default Android apps.

Requirements in Computer:
-Palm Desktop installed and previously synchronized with Palm Phone
-PC with Android Phone drivers (Install Kies for Samsung, connect phone and drivers will be installed)
-CompanionLink * installed (Checked with v 3.0.3089)

1. Configure CompanionLink
1.1 PDA: Android USB
1.2 PIM: Palm desktop (Access)
1.3 Configuration: Palm desktop as primary
2 Connect phone by USB
3 Execute DejaOffice in Android,
3.1 Click "Syncronize" on DejaOffice menus
3.2 Wait
3.2 Disconnect Phone from PC

Now Contacts, task, calendar and memos will be available in Dejaoffice :)

Android Calendar to DejaOffice Calendar
Android calendar is a piece of crap,with poor on features and with a lack of usability in UI.
But if you have data en Calendar and you want to move to DejaCalendar without sync with google web (I don't like the cloud).

go to "Settings", "Sync settings" and activate "Sync with Android Calendar App"

Note. At least in the spanish translated version 2.1.9
"Sync with Android Calendar App"and "Sync with Android Contact App" are incorrectly exchaged.
After select you have to chose between alarms in Android Calendar or DejaCalendar.
Chose categories to sync.

In Home/ main menu chose "Read Android Data"
Now we have real calendar. ;)

Outlook Calendar to DejaOffice Calendar (using Sundbird -> no cloud,  no shit in the middle)

From Outlook Calendar.
  Save Calendar as (as ICS)
  Date range: Specify dates
  Detail: Full detail
  Advanced: Include details of items marked private

From Sunbird (Mozilla Sunbird 1.0b1)
  Import ICS file  and remove instance/occurrences
  Select specific events and export Selection (to ics)

From Android
  Open ICS file from Android (any file explorer)
  DejaOffice will import the entries and even categories will be preserved.

viernes, 4 de mayo de 2012

My best Android apps (updated)

Although many people thought Android came to save us from the darkness, I think this OS is not an step ahead but in my humble opinion it is more like reinventing the wheel, losing much time to create the same, and this new apps are not multiplatform..

Probably this is the best choice for a private company interested in doing the maximum of money but hardly it could be worse for users and progress

Anyway anyone said it were a perfect world....

Samsung Galaxy Chat GT-5330
By default: Android OS, v4.0 (Ice Cream Sandwich)
now OS 4.1.2 Jelly Bean
Base B5330XXUBMC2

Internal Memory 2GB (space available for application or data)
Ext SD: up to 32 GB

240 x 320 pixels, 3.0 inches (~133 ppi pixel density)
Touchwiz UX UI
Java, via Java MIDP emulator

HSDPA, 7.2 Mbps; HSUPA, 5.76 Mbps
Wi-Fi 802.11 b/g/n, Wi-Fi hotspot
Bluetooth v3.0 with A2DP
microUSB v2.0
CAMERA : 2 MP, 1600x1200 pixels Records VGA@25fps
Accelerometer, proximity, compass
A-GPS support and GLONASS

CPU    850 MHz*
Family designed by: ARM Cortex-A9

Architecture: ARMv7-A

High-speed ARM Cortex A9 processor for superior applications processing and advanced user interface support along with an ARM Cortex R4 communications processor


Keepassdroid. 1.9.18 (GPL)

-DejaOffice 2.5.8
Features: Import from ics calendar(open ics file from explorer/fileexpert...)
sdcard\clusb\dbcompanionlink.db (sqlLite format; tables: Calendar, Memos,...)
(backup default path:  sdcard\clusb\backup\companionlinkxxxxxxx.db
BB10 .\misc\android\clusb

Manual backup 
     -Configuracion de Registro y Soporte
     -backup databases

-Note Everything 4.2.4
Info stored in file /noteeverything/backup/notes.db (sqlLite file; table Notes)

  +proAddon 2.5.1 (includes internal backup/restore feature)
! (config location for automatic backup in external SD card)

Backup policy
v4.2.4 and 4.2.9 (without Pro addon)
Before install the apk, copy "backup" with contents in folder in SD folder "/noteeverything/"
Install apk v4.2.4, v4.2.9,..
Open, noteverything will detect the previous backup and will ask to restore it

* Preferences,advanced,"import/export db","backup base de datos"-,export internal sd

* Preferences,advanced,"import/export db", Restore db (from SD)
*  Base de datos,

v4.2.9b (Only with ver Pro addon)
* Preferences, Advanced, Database maintainer,"Backup database"/"Restore database"
it will update the file content of:  /noteeverything/backup/notes.db (sqlLite format)

Folder player 3.1.2
BS player lite 1.3.126
VLC 0.2-git (APK)
Minilyrics 1.0.8
Podax 5.9 +gpodder1.9
Rehearsal Assistant (Free)(a voice recorder with play function)

Colordict.  4.2.1 SD(internal) folder: \dictdata
Goldendict.1.5.6 SD
         default folder: \goldendict (db will be indexed)
         free version max 5 dictionaries at same time
         an additional folder for dictionaries can be specified in preferences (i.e  \dictdata)
Aard 1/2  (Free)
         .slob files
         inc wikipedia simple
       offline wikis,etc ...
       can get content from the app
Default folder in internal but external can be configured 
i.e  /Storage/extSdCard/xx/AnkiDroid

Sygic 13.1.4 (maps 2013.01)
Sygic 14.3.4 (maps 2014.0x)

(Map format .mwm)
BB10 .\misc\android\MapsWithMe\15080

(map format: .map)
BB10 .\misc\android\wikiloc\offlineMaps

OruxMaps 5.5.2
(map formats: .rtmap, .db, .map)
(default folder
BB10  .\misc\android\oruxmaps\mapfiles)

OSMAnd 1.9.5
 Settings,General, Storage directory: extSdCard
  /extSdCard/osmand (map files are hidden to usb connection)
 (removing or renaming file .nomedia, files will be visible to PC)

OSMAnd 3 (in BB10)
 Settings,General Settings, Data Storage folder:
(work but data is using internal mem and also folder and files are not accessible by user)

Solution: change the folder and the app will move all the data
new folder: /mnt/sdcard/external_sd/SD_DATOS/osmand

To change language for place names:
Menu, Configure map, Map language ( English ; default: local names)

Metro 0.3.0 (data \GT-xxxx\Phone\metro)

HERE (ex Nokia Maps,Here) (on previous ver. rendering sometimes failed)

  internal or  extasdcard
 1step: configure storage in: external sd card
 2step: download maps


IM+ 6.3.6
K9 Mail
(Account, Settings, Account settings, Storage=SD card
Storage/sdcard0/Android/data/com.fsck.k9/files )

SpaRSS(improved fork of Flym) (Free-Fdroid) import/export opml, keep entries forever,...

Internet browsers:
(app size)
CMbrowser 5.1.80
Firefox 34.0.1
Lightning 3.1.1a
Opera v14.0.1 (last Opera engine)
palm game for android

Firefox/Fennec v23.0 
Opera Mini 8.0.1807

Styletap. PalmOS emulator

Barcode Scanner (Free-Fdroid) 
File Expert. 5.0.6 (files explorer, apps to apk, zip...
OI Filemanager 2.0.2 (Free-Fdroid)
All in One Toolbox (performance, sys info, files explorer, apps to apk, multiple files to zip...

Hacker's keyboard  (includes function keys required for remote control of computers)(f-droid)
Galaxy Toolbox 1.22GA

APK Extractor (Free-Fdroid)
Disk Usage (Free-Fdroid)
Applications info (Free-Fdroid)  (many info about installed apps)

Cache with APKS...

rerware Mybackup Pro (\rerware\)

ROM toolbox 5.5.0  (some options requires root)
 ROM management, App management, browser,autostart, Apps2SD, Terminal emulator, task manager,..

Autostarts (available at F-Droid) what starts and when
OS Monitor (available at F-Droid) shows linux processes, TCP/IP open connections,..
requires root
titanium backup

lunes, 2 de abril de 2012

Fixing a Nokia N800

1.Iterative reboots during the charge which avoid a the charge process.(N8x0)
2.Screen jittering. (N800)

Iterative reboots during the charge which avoid a the charge process. (N810/N800)

Try with different Nokia chargers, even with the same external aspect the voltages/current differs in the Nokia chargers, furthermore nowadays electric devices and since batteries have a broad range of input voltages there is no risk in this action.

Batteries or device have internal IC (integrated circuits), to protect the device/battery, and the problem could be there instead of the N8xx input.
For any reason the battery controller need more or maybe less voltage to continue charging.

You can use any mobile phone charger(the most of them are 5V-6V DC), you only need to change the output connector.

For N800 I used 5.2v and0.5mA (No nokia) instead of nokia (AC-3X) 5V and 350mA

Screen Jittering. (N800)

Device still working but it is very annoying to see how the windows are moving/jittering in the screen. I my opinion it is related with colour contrast in the screen because it happens more with dark screen than when we are working in a white/grey screen.

After opened the tablet I can see few components not covered by the metal shields but I saw two components which I think could be involved in the failures; battery(2) and capacitor?(2)

The capacitor is a bit dark in the lest side, looks like a bit burned, I hardly can read over it something like "G.MKT"

The battery looked bad but in theory should not affect to screen.

After disassembly the screen there some small components and two IC.
the small one has written "VM66BS 92300SN" (2)