Extract project and Report level metadata from obiee12c - weblogic12c

As we have below command to extract all the projects/reports from obiee12c analytics
exportServiceInstance( '/oraclehome/user_projects/domains/bi','mycompany.facility', '/workDir', '/scratch/exportDir')
This command provided extracts all metadata information of every projects and folders and report present in analytics as a archived bar file.Is there any other way were I can get metadata information of particular report or project which I need and not all the projects as a bar file or any?

OBIEE comes with several client tool with the "Catalog Manager" being the admin tool of choice for handling catalog-related tasks like yours. It exists as a GU and a command line both so you can also automate/script repetitive tasks like reporting on your reporting objects.
Have a look at the official documentation as it's too much text to just post into an answer here and you may come across things you want or need in there which go beyond your initial question here:
https://docs.oracle.com/middleware/12211/biee/BIESG/GUID-E804B1AF-B792-4929-BE47-33CA0F668715.htm#BIESG340

I you only need the reports you can export your reports folder directly from the catalog in OBI web interface or using "Catalog Manager" as suggested by #Chris.
For the repository you can connect Online to your server then from file -> Copy As
Note : exporting the service instance is used for environment migration, it's easier to move all what you need with one bar file (for example having DEV PROD environments).

Related

How to Connect CloverETL to Google Cloud Storage?

I am using CloverETL Designer for ETL operations and I want to load some csv files from GCS to my Clover graph. I used FlatFileReader and tried to get file using remote File URL but it is not working. Can someone please detail the entire process here??
The path for file in GCS is
https://storage.cloud.google.com/PATH/Write_to_a_file.csv
And I need to get this csv file into the FlatFileReader in CloverETL Designer
You should use the Google Cloud Storage API to GET the file; Clover's HTTPConnector component will allow you to pass in the appropriate parameters to make a GET request (you will presumably have to do an OAuth2 authentication first to get a token), and send the output to a local destination specified in "Output File URL." Then you can use a FlatFileReader to read from that local file.
GCS has several different ways to download files from your buckets. You can use the console and the Cloud Storage browser. Steps: open the storage browser, navigate to the object you want to download, right click, and save to your chosen local folder. If you use Chrome the save appears as “Save Link As…”.
To use the GS Utility, use this command:
`gsutil cp gs://[BucketName]/[ObjectName] [ObjectDestination]`.
Or you can use client libraries or the REST APIs to download files. With these last options you could work with a number of files or create a job to download them. Once they are in a location known to Clover ETL the process is straightforward.
Within Clover designer, under the navigation pane you can right click a folder and choose import. Pick the one in which you placed your GCS file. Once the file is imported then you can use data from it like any other datafile in Clover. Since this is a .csv file, remember to edit your metadata (right click the component, choose extract metadata then edit inside the Metadata Editor -- for data types, labels and such.) Assign metadata to the edges of your components so they know what is coming in/going out of that step. Depending on your file, this process may be repeated many times.
Even with an ETL tool, getting the data and data types correct can be tricky. If you have questions about how to configure data types or your edges in an ETL project, a wiki may help. The web has additional resources may help you get the end analysis you’re looking for.

Upload in Alfresco Repository

I'm new to Alfresco. What i'm trying to do is to upload a file through REST API in a folder that i have created using Alfresco Web Administration Interface. I have a few problems:
1) I can see a set of folders, but how are them managed by Alfresco? As far as i know, those folders doesn't really exists physically, they are virtual. How does Alfresco manage the folders structure and files?
2) I have seen many examples on the _REST API use to upload a file. Anyway, the destination is set by something like this
workspace://SpacesStore/aae3b33fd-23d4-4091-ae64-44a8e332091341
I can't understand: What exactly is a SpaceStore? And, does the last-part-code refers to a specific folder? How can i get those codes relative to the folder i see in the Alfresco Web Admin Interface?
1) I can see a set of folders, but how are them managed by Alfresco?
As far as i know, those folders doesn't really exists physically, they
are virtual. How does Alfresco manage the folders structure and files?
Alfresco is an implementation of the Java Content Repository (JCR), this means that all the contents are managed using a logic structure similar to a graph of nodes. Storing and manipolating content must be done using the repository API, that's why you don't see anything at a storage level.
Each content in Alfresco is a node connected to at least another node: the parent.
The storage of Alfresco is based on two components:
File system for storing binaries and search indexes
Database for storing the backup of metadata and associations
The way how Alfresco stores contents is not important for you because you typically want to access using the Alfresco API. You can create your own logic structure in the repository using any type of folders tree and content associations.
2) I have seen many examples on the _REST API use to upload a file.
Anyway, the destination is set by something like this
workspace://SpacesStore/aae3b33fd-23d4-4091-ae64-44a8e332091341 I
can't understand: What exactly is a SpaceStore? And, does the
last-part-code refers to a specific folder?
A repository typically consists of a set of JCR workspaces, the SpacesStore is one of the workspaces in Alfresco and it is the logic partition of contents in their latest version.
Alfresco also contains other workspaces:
userStore: contains person nodes
archiveStore: contains removed nodes
version2Store: contains the version history of nodes
How can i get those codes relative to the folder i see in the Alfresco
Web Admin Interface?
That code is the node reference that is the unique identifier for each node in the repository and as you can see it consists of three parts:
workspace: the store protocol
SpacesStore: the store identifier
uuid: the UUID related to the node
The store reference consists of the store protocol appended with the store identifier and it is the identifier of the workspace where the node lives. The UUID specify the content inside the workspace.
These node references are the ID for nodes and you can see all these informations using the Node Browser inside the Alfresco Explorer | Administration Console trying to navigate your repository starting from the Company Home.
Hope this helps.

Running Reporting Services against a test database

What's the best way to setup SSRS reports to run against a test database? We need to run them from the Report Server (e.g. from a browser) against a test database. I tried creating a linked report but I don't see a way to associate a different data connection with the linked report.
Thanks.
I usually create a second copy of reports in a Test folder on the SSRS server. This lets consumers test report changes before they affect production.
But if you really want one version of the report to point at both production and test you can get clever with data sources. Here's a blog entry discussing dynamically changing your datasource based on a parameter.
http://skamie.wordpress.com/2010/12/17/ssrs-changing-data-source-dynamically/
Then you'll need to either expose the parameter or call the report in some way where you can set the hidden parameter.
Create a new folder in the Report Manager and upload the exact same report to that new folder.
If needed, you can also hide this folder so only testing people can access the URL directly.
Create a new data source that points to your test database and change the data source of the new report to use the test data source.
That way you can leave your production report intact.
Go to Properties > Data Sources and point the datasource to your test database

Office integration (Word) - intercepting save

I am planning to implement a small in-house document management system. It must have a web GUI for managing a remote folder structure stored in a database. In these folders are word documents stored (physically as blob in a database). Whenever a user clicks on a document link, a word binary is downloaded via browser and (hopefully) opened in Word on the user's PC.
This is the easy part ;)
Now the user hits "Save" or Ctrl-S. I want to have a functionality programmed inside Word that calls a custom function (maybe in a .NET DLL) that uploads the saved file back to the server (HTTP). The hard part seems to me:
How to intercept the Save process to call the extension functionality
How to deploy this to multiple users
Mike's link to the question I answered should do it for intercepting the file save. The specific button idMso for File->Save is "FileSave"
To deploy it to several users machine you can either
Create a setup project that will create an msi that you can run on all the users machines
if it's an intranet scenario, you can keep the assemblies on a network location and just add the neceassary registry settings to all the users machines. This article should describe the settings that you need to include. You would just need to change the path setting to point to the network location.
AFAIK, this is what Alfresco is doing with its Microsoft Office Add-ins (never tested myself though). As Alfresco is open-source, it must be possible to look at what they are doing. Or just ask your questions on Alfresco's forums.
You can try to override "save" from the ribbon or build your own ribbon tab with the behavior you want. It may be trickier overriding "Ctrl-S".
Overriding the ribbon: StackOverflow Question
Video on altering a standard ribbon button: Office Developer Center

Changing Crystal Reports reports shipped with an application and a runtime version

We have a purchased application (I'm told it's .NET, it's client server, running on Windows XP, connecting to SQL Server 2005) that uses a Crystal Reports runtime and separate report files (.rpt) to do it's reporting function. I have a copy of the CR Designer program but we don't have the CR Enterprise software. I can open the reports in the designer, get to the SQL Server data source (and any others, I guess), add them to the report, run it, print it -- but I can't figure out how to use the same Datasource, which is a subset of the tables in the database that it's connecting to, to do it, and I can't figure out how to save the report files so they'll work with the application. Real gravy would be coming up with new reports.
Is this even possible?
If you open up the report and then go to Database, Set Datasource Location, under the Properties section you will find a lot of info about the datasource and where it is getting it's info from. If the purchased application is creating its own datasource internally though and supplying it to the report at runtime, the best option that I can think of is to start a trace on the SQL Server and then run a report. You should be able to see the SQL that is issued by the Datasource and replicate it in your own version.
You have the possibility to manage your connection's properties at runtime (ie while launching CR from your app). Here is a proposal: Crystal Reports Datasource remap
If you cannot access your app code, you should then do as proposed by #Anthony, by updating all your connection strings in your rpt files, save the rpt files, and copy then on the corresponding report folder of your app: you might have to find where it's located in your system.
First of all, you'd better make sure you're not violating the application's license agreement by attempting to add to it in this way.
It may simply not be possible to add reports to the app in any case - it depends how it loads them and what it does with them.
To use the same datasource, you should just be able to open one of the .rpt files, then go to File > Save As, and give it a new name. Then modify it to what you want. Of course, if you don't know the authentication credentials the app passes to the report to connect, it would be tricky to test it.
It would help greatly if you gave us the name of the purchased application, as we don't really know what you're up against.
It could be that the application is passing through a filter of the data. So when you run the report from Crystal Reports Designer you get the whole data base, however when run through the program the parameters being passed to the report restrict the data back down.
Create a backup of the report. Then edit the existing report, make the changes you require, preview the report to get an idea it looks right, save the report and run the report via the application.
Warning:
As it has already been stated some vendors may not allow you to edit existing reports, your warranty/sport may be voided by editing existing reports, or reports could even be overwritten on the next update.