Smart View Quick Tip - Smart View 32 bit or 64 bit? Which one wasinstalled?

This is an interesting question I hear all the time, which version of Smart View should we install. Prior to 11.1.2.5.000 Smart View shipped with 2 installer


  1. For 64 bit Office
  2. For 32 bit Office
Now that is an old story because 11.1.2.5.00 was released in 2013. (3 years back!!!!)

I know that there are many people who still looks for this and even extracts the 32 bit msi and end up having issues while installing on 64bit office versions. If you are one among those people, please stop doing that ;) you don't have to do the heavy lifting of finding which version of Office you've and then use the right installer, hey Smart View can handle it.

Now this post is adding something more to what said above. What I I want to check which version of Smart View was installed. There was a thread on OTN on this and that is the reason for this blog post.

Read the rest, if you cannot find Smart View Installer version from Control Panel. 

Well yeah we know if the Office is 32 bit version then Smart View is going to be 32 bit, wait I don't trust you :). Need the proof man!!!! :)

The proof :)

It is (was not for me) not really easy to get the information.

Even if I look at the Version Info from Smart View, all it gives me is what is given below


How will I know the version :(

You'll have to look at the registry keys for this.

Now what I found that it is easy to search for a key word, which is nothing but "Oracle Smart View 32-bit for Office" (so if you are looking for 64 bit, you know what to do now)


I choose to look only at the Data and Match whole string only


Once I do that, if my Smart View was 32 bit I'll get to a key similar to the one given below

HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\1B68ACA2978AE934BBC433C8A51982F2

Interesting thing about that key is it even has the SourceList and will also tell you what source was last used. It will also tell you about the package name.

I know you want to go further :)

So we now got a key to search for in my case it is 1B68ACA2978AE934BBC433C8A51982F2

Now I'm going to search for that key


I'm looking at Keys and Match whole string only

You might have to search 3 or more (my case it was 3) till you reach here



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-21-606747145-1770027372-682003330-712960\Products\1B68ACA2978AE934BBC433C8A51982F2\InstallProperties

I've two users in my system
  1. Me (that was obvious)
  2. Administrator
If you look under InstallProperties you'll find a lot of options. Like what date was Smart View installed, What was my install source, What is my install directory, et al

You can also see what msi was copied to the windows installer directory


Just for kicks I ran the msi which was given in the path and viola!! (you don't need to do this)


There we go it was indeed 32 bit (ooooh)


Update

The reason for going this route was because on OP's (OTN question) machine this was not showing up in Control Panel. The best place to look for this information is in the Control Panel, if you cannot find it there, you now know where to look. ;) (easy peasy!!!)

NUMSysCMDLauncher - Bulk User/Group Import/Modify/Delete from command line

This was something I always wanted to do, however kept skipping this. However I had a compelling reason to finish this on Friday.

Scott, this is my Guru Dakshina.

Some of the people who know me (which is a very few) knows that I started with Hyperion Web Analysis (which I still love) World wide support team. However they don't know that Scott Metzler and Nouria Kehli (that's a real small circle) were the ones who introduced me to the world of Hyperion.

Scott reached out to me with a business case this Friday (which was really nice of him), where he need to import some users to Shared Services Native Groups. He'll get those users as a file which their respective native groups. My first advice was to use LCM and I know that Scott was going to say the following.

When you try to use LCM for importing users/groups the migration option is set to create/update. Once that option is set and you try to import new users to existing groups, the old users will be overwritten.

I know I can change that behavior in the API whether to overwrite or merge. I always wanted to give NUMSys a command line interface and I thought why not do it right here, right now :).

This is my way of saying Thank you Scott

You can use NUMSysCMDLauncher to import users/groups from a file now.

I'll add this to NUMSys Web in the upcoming version. (It got delayed a lot, I know been, cray busy with lot of stuff)

NUMSysCMDLauncher 1.0 supports the following operations

  1. importuser
  2. importgroup
  3. deleteuser
  4. deletegroup
Usage is as follows

usage: NUMSysCMDLauncher
-D <-D>                               Use this if you are using encryption
-deletegroup                          Delete Group operation
-deleteuser                           Delete User operation
-encrypt <-encrypt=<encryptstring>>   Use this for encrypting strings
-file <-file=filename>                File with Users, Groups information
-help                                 prints usage
-importgroup                          Import Group operation
-importuser                           Import User operation
-p <-p=password>                      Password for connecting to Shared Services
-u <-u=username>                      Username for connecting to Shared Services

Encryption

NUMSysCMDLauncher also supports encryption and you can encrypt the entire command by navigating to the lib folder and issuing the following command



Copy the encrypted text to the bat file.


Import User(s)

You can upload users from a file using the below given format.


If this is an existing user, the utility will skip the creation and switch to a modify mode.


Import Group(s)

You can upload groups from a file using the below given format, by default utility performs a merge option with the group's assignment.


You can perform creation of the group(s) along with group's assignment. If this is an existing group(s) then utility will switch to modify mode.

In this example I'm creating a group called "AllAdmins" and adding "EPM Admins" group and "testuser1" user to this group.


You can mention the provider of the group/user, default is "Native Directory".

Delete User/Group

You can bulk delete user(s)/group(s) by passing the username/groupname in a file



You can download NUMSysCMDLauncher from here

Documentation can be accessed here

I think I'll add a new option in the next release where you can specify whether to overwrite a group assignment or perform a merge.

PBCS Quick Tip - Make Smart View prompt for Domain and User Name

This is going to yet another quick tip on PBCS.

You all know that when you connect to PBCS from Smart View the login prompts are different from the on-prem version.


If you look at the screen shot you can remember your identity domain. If you have only one POD, it is a great feature.

Likewise for User Name and Password, you got the same option.



I still remember when this feature was released, it by default remembered the selection and I was not able to go to another POD and finally I found the solution that clearing the browser history of IE works.

This comes in really handy if you are performing Smart View automation along with SSO, it will not ask you for user name and password if you are opening EXCEL from a batch file.

So what happens if you are consultant and need to change your username/password and domain name, you'll have to clear the cookies.

Now what if I don't want to delete all the cookies!!!!

Here is a way to do it by specifically deleting one cookie.

Navigate to Internet Explorer->Internet Options->Browsing History->Settings


Click on "View Files"

Check for a file called Cookie:<username>@login.us2.oraclecloud.com

Delete that one and you'll be now prompted to enter domain name, username and password again.

Style LCM Artifact Listing - Or Make It Readable

This was fun :)

The project that I'm working on it pretty complex and I did talk about couple of things that I'm doing at my current client during KScope, some of might even saw the videos. Hey it is pretty exciting stuff.

I'm fortunate that they are the first client to use the cutting edge (upcoming) feature in PBCS and I'm part of that team.

Now this post is nothing related to that (in some way yes it is related), this one is about stylizing the LCM artifact listing (or understand what is in that file!!!).

I was assigned a task of finding out the objects existing in PBCS (specially forms), now if this was on-prem I could fire an SQL command and easily get the list. Hey hey this is PBCS, we don't allow any backend queries here.

Only option left is to use the Artifact Snapshot listing.xml and go through the list of XML files and generate the list, well you all know that I'm a lazy guy and I don't like doing that. (going through the files if they are under too many folders is a big task)

Now we all know that listing.xml is an XML file and contains the listing information of the current LCM (yeah we all know that, otherwise why would someone name it with an XML extension ;))

How can we look at that file, it's all in one single line?. Well I get it, I use Notepad ++ and with the XML highlighting it is easier to read the file. (well it is still a single line!!!).

So here comes a nice plugin in Notepad++ (I did promise that I'll soon write a post on all the useful plugins that I use in Notepad++, patience dear reader, it is coming :))

I use a plugin called XML Tools in Notepad++ and if you are working with XML files then that is a great plugin to have.

Open listing.xml file in Notepad++


Select XML tools from plugins and select "Pretty print (XML only - with line breaks), oh yes there are lot of options, you can enable the syntax check and it'll let you if you didn't close any headers/ syntax issues in the XML file.

Here comes the magic now


The big one liner became a pretty readable XML file now. Okay I admit that I'm still nowhere near my assigned task, I'm nearing there.

I don't know how many of you've heard about XSLT (if you've not; here is the link), it is a language used for transforming XML files.

Couple of things to keep in mind before starting with XSLT (This is my version of XSLT and XML explanation, you might find differences with the theory world ;))

You need to tell the language where to start the transformation and this is going to be nothing but the root of XML and in our case artifactListing (if you look at listing.xml the entire contents are within this node)

So we got our starting point, now you've two inner nodes inside artifactListing which are folder and resource (oh yeah it's just those two) and their attributes.

Now I see you are getting where I'm going with this, if you don't just be patient.

So all I've to do to get the list of forms is to create an XSLT and ask it to give me the following attributes for resource.
  • path
  • name
  • type

So let's look at the xsl file
All I did in that code was


  • Asked to loop through all resources (artifactListing/resource) 
  • While I'm at it asked it to return, path, name, type, modifiedBy and lastUpdated attribute values


Now to get the output, you can edit the xml file itself and add a line in the beginning as shown below or use XML Tools.

If you opt to edit the xml, all you've to do after saving the file is to open the listing.xml in a browser


There you go, all resources neatly documented as a table. Now if you are not comfortable editing the file, you can use XML Tools.


Open XML Tools from Plugins -> Choose XSL Transformation.

It'll ask for the XSL file


Select the file created and run the "Transform". XML Tools will generate a new transformed file (which is an html). You can save the file as an html file and open that in a browser (well there is a plugin for previewing html in Notepad++, I'll talk about that in next post)


Look at that!!! I can even get a list of Smart Lists, Dimensions and all the resources in entire PBCS world :)

Well getting all the form names is easy from here just filter on type for "Data Form"

Now if you want to get a list of folders from listing.xml, use the below given XSL

Here is the output


I can use the filter "Form Folder" to get all data form folders :)

As my big brother from completely different set of parent says easy peasy lemon squeezy :)

Update 08/04/2016

One comment I received was why not use EXCEL to do this, EXCEL can create a schema for XML and show it in a table. Not that I didn't try I didn't like to format of it.

You'll get folders and resources in the same table and you've to figure out which one is which (again not a tedious task). I just opted to go this route, because I thought this is more geekier ;) more clean and more flexible (you can choose whether you want folders/resources, you can choose which attributes to pull

PBCS Quick Tip - Migration

This is a quick tip, I struggled at this one and thought of giving you all a quick tip (so that you don't make the mistake I made)

I was trying to move TEST to Prod and what I want was a clean import, so I went into my Prod instance and deleted the application.

Now if you are on SUI, then that is "hidden" under "Console"


Once I deleted the application, there is no option to upload the TEST snapshot. All I got was this, so I was planning to create a shell application and then get into Console and upload the file.


Well you don't have to do that. Click on the 3 lines near "Oracle" (oh the same place where "Navigator" is hidden, the 3 lines near Oracle in PBCS is actually a menu) and you'll find an option called "Migration"


When you click on it, it'll allow you to upload the snapshot.


Upload your TEST snapshot and "Import" the application.


Well that was quick :)

Views discussed in this blog are my personal views.
They do not represent the view of organizations, businesses or institutions that I'm part of.

Blog Archive