BW architechture
Hello!
I have two ods:
ODS 1 with charac C1 & C2 (C2 = date) & C3and KF KF1.
ODS 2 with charac C4 & C2 & C3and KF KF2.
My customer want in the report to have on lines the charac C1 and on columns charac C2 and KF1 and KF2.
I need your help to do this report. I try different things but i still d'ont manage to have a good report.
First, i created a cube with my 2 ods but, in the bex the result is false. Indeed, the values of KF2 is assign to the value 'not assigned' of the charac C1 ( I understand why). That's why i tried to use SUMCT ans SUMGT but they don't give the good result if i put the date (i.e C2) on collumns.
Then, i try an infoset with the 2 ODS. the link in on C2. The number of records is multiplicated but i manage to have the good value by carring out a division. I must created a variable on an nav attribute of C3 but in the infoset i can't have acces to the nav attributes. So, i added the charac C3 in the definition of the infoset and i link the charac C3 with the 2 ods. BUT, if i do that, i have a bad value for the KF. Indeed, i have only the value of ODS2 witch have common value for C3 with ODS1 ( i want to have the value for KF2 for all value of C3 even if this value are not in ods1)
So, i am really desesperate. I hope i was clear with my explanation.
Can you give me some help?
First of all, which is the relation between C1 and C4, it is 1 to 1?.
Instead of creating cube, it is better build and ODS to consolidate data. In your case with keys C2 and C3, KFs as fields, and C1 and C4 as fields if the relation is 1 to 1.
Infoset joining by C2 and C3 will multiply ocurrences of C1 and C4 for the same combination of C2 and C3
You can try to build and Multicube too
Similar Messages
-
What is the use of Streams Pool in oracle Architechture?
Dear All,
I am new to oracle, Could you please explain me what is the use of streams pool in oracle Architechture?
My Understanding :- ( As far as i know it is an optional memory buffer, used in distributed environment like multiple servers hosting a database, like RAC or GRID ) Please correct me if i am wrong.
Is the Streams pool a new feature in 10g or is it since earlier versions?
What is the importance of its in performance tunning?
Thank you,
yousufThe Oracle documentation is available at tahiti.oracle.com
http://download.oracle.com/docs/cd/B14117_01/server.101/b10755/initparams209.htm
Edited by: Robert Geier on Jan 29, 2010 3:46 PM -
Jsp/java servlet architechture
i would like to ask about my design programming architechture:
because i haven't have html file,i only use jsp file to display the page.
and when the user click the button, then i call the dopost method in java file.
is it the right method to build my program??
only use jsp and java, does not has html?SCWCD Exam Study Kit by
Hanumant Deshmukh
and Jignesh Malavia
(Manning Publications)
http://www.manning.com/deshmukh -
The documentation says about 2 architechtures. One with Both Metadata repository and Runtime repository in the same schema and other with seperate schema's like in 9.2.
But when I tried to install from the downloaded OWB 10gR2 software from OTN. There is no option where in I can select 2 schemas seperately for Metadata and Runtime.
Please some one let me know how do I install with Metadata and Runtime in seperate schemas.
Regards
KishoreAny repository includes both the design (metadata) and runtime components - there's no way to install it with only one or the other. Having said that, it's completely possible to just not use a repository for one function or another.
Hope this helps,
Scott -
Oracle Business Process Architechture
Hi,
I want to work on Oracle Business process architechture can anyone tell what it is all about and if there is any useful documents for this.
I searched in Oracle do the Business process architect and Business process Architechture are same.
Thanks.Hi,
Business Process Architecture will refer to how business processes in a company/org are organised towards the fulfillment of company's vision and goals.
Business Process Architect is a tool from Oracle, which helps Business Analysts\Architects to model.simulate and improve business processes.
Models created basically provide a blueprint for IT to develop executable processes, being in sync with business goals.
Visit "http://www.oracle.com/technology/software/products/bpa/index.html", there are lot many docs to get you started.
thanks -
XRPM4.0 Architechture -How to debug??
Hello xperts,
can anybody tell me all the possibilities and procedures to Debug the xRPM 4.0 Application as well as the cProjects 4.0 Application??
What are the application name ?
How can we see the application like we were able to access cProject 3.1 by going to se80 and then opening the BSP application ? or, is it possible at all here?
what all standard workflows are available with xRPM4.0?
If somebody has any Document regarding xRPM Architechture, then he/she please mail it to me. My e-mail id is [email protected]
Thanks in Advance,
SugataSugata,
I think below link will provide you complete details as you may require
/people/vincenzo.cavallo/blog/2006/02/19/integrated-financial-planning-with-sap-xapps-part-i-150xrpm20
Please check the same
Enjoy SAP .
Dont forget to give points if useful ans.
Greetings,
Ketan Dave -
Oracle 10g - architechture and compatibility
I want to know that
- Whether Oracle 10g support 2 tier Architecture Or it is strictly for 3 tier.
- If it doesnt support 2 tier then, is Oracle 9i is the latest version for 2 tier system.
- If Oracle 10g supports 2 tier then ,Is Developer 200 version 5.6 is compatible with Oracle 10g. ?
Please response my query, as I have to take some urgent decisions based on this asap.If Oracle 10g means Database server 10g, then it's independent from Client Architecture ( 2 or 3 tiers refers to Client Architecture), you can use the same DB with both architectures simultaneously.
Is Developer 200 version 5.6 is compatible with Oracle 10g. ?
In Metalink Note:207303.1 you can see the official Client / Server / Interoperability support between different Oracle versions, but I have to say that I've already used unsupported combinations, e.g. 8.0.6 Client with 10g DB, and they may work, so the best thing would be to try.....
Message was edited by:
Paul M.
If you are looking for an official answer, then the answer is NO. -
TT bi-directional general workload architechture with 3 nodes
Hello Experts,
We are starting a new project where we will have a cluster with 3 nodes. We will have both our application and TT running on each node.
Then we will have a switch doing the application load balancing between the 3 nodes of the cluster. Whenever a request reaches one of the cluster nodes, the application queries/updates the local TT installed in the same node. All the changes made in one of the TT instances must be immediately replicated to the other 2 nodes.
My questions are:
1) Does TT supports a 3 nodes bi-directional general workload architecture?
2) According to the documentation, a bi-directional general workload configuration should not be used with the return twosafe return service. Can we use the bi-directional general workload configuration (on a 3 nodes cluster) with a return receipt configuration?
3) Since we can not use the return twosafe configuration with the bi-directional general workload architecture, how long (in avarage) dos it take for an update in one of the 3 TT instances to propagate to the other 2 instances ?
Thanks in advance,
Marcos OrtizHi Michael,
1. Yes, TimesTen supports a three node multi-master general workload architecture. However, we absolutely do not recommend use of such an architecture as it has many inherent dangers. You will almost certainly suffer from datastroe divergence with such an architecture and also recovery of a failed datastore back to a state consistent with the othyer datastores will be extremely difficult. I owuld urge you to consider alternative architectures that do not require N-way mult-master where N > 2 (and even then you must enforce strict workload partitioning to ensure that consistency is maintained).
2. You cannot use RETURN TWOSAFE with multi-master since you will almost certainly encounter distributed deadlocks which TimesTen does not detect nor resolve. You can use RETURN RECEIPT in multi-master configurations but of course this offers a lower level of assurance than twosafe.
3. It is impossible to give some specific figure for how long it takes for replication to occur with RETURN RECEIPT since there are many variables. Typically replication occurs within a few milliseconds, dep[ending on configuration, but any number of factros such as sudden high system load, network glitch etc. etc. can cause it to take significantly longer. All you can say for sure is that if a commit using RETURN RECEIPT returns succesas then the replicated data has arrived at the remote datastore and is in the 'apply queue'.
Without wishing to labour the point, the architecture you are considering is highly problematic and is one we strongly recommend customers avoid. Using conflict resolution is not a solution as it cannot detect or resolve all possible conflicts and you swill still have divergence and recovery issues.
Chris
-
Hi All,
I am in need of enterprise ETL architecture in OWB 10gR2.
What I mean here is, we just finished one ETL project using OWB 10gR2. Now, are heading into another project using ETL. When we sat down and design for the new system we encountered the debate for having all the ETL projects in single instance. Now I need to have a clarification how to construct multiple project using OWB.
1. We would like to have single OWB repository and repository user in each target instance. Is that possible? if yes, how can we install repository user in each target instance?
2. Is that we need to create repository owner and repository user in each target system?
3. How about job monitoring of ETL process? We need single location where we can check the process flow execution and know the status of the jobs. In control center, we need to connect using single project and we can monitor only one project's jobs status. Same thing goes with Repository Browser as well. If i am not wrong.
4. If we have single repository owner and multiple repository user, can we monitor all the repository user executing jobs and its status?
Expecting your best practice inputs...
Thanx N Regards
Mohanraj.AHi Mohanraj,
1. We would like to have single OWB repository and repository user in each target instance. Is that possible? if yes, how can we install repository user in each target instance?Yes, for each project (as I understand in your case you have different DB instance for each project) you can create separate OWB repository. You can perform this with Repository Assistant. OWB repository consists of two independent parts - design and runtime objects (under objects I mean database tables/views/stored procedures/etc.). Design Center uses "design" part of OWB repository and Control Center uses "runtime" part of repository. If you want to execute mappings on target database you must create OWB repository in target database (and install OWB software on target server).
You can configure your environment to use single "design" OWB repository (all your projects in one OWB repository) and multiple "runtime" repositories (you can deploy OWB objects of one project to different target database - for example to development server, and production server).
2. Is that we need to create repository owner and repository user in each target system?Yes, you need to create repository owner (and OWB repository - for runtime services) in each target database.
3. How about job monitoring of ETL process?Information about executions is registered in local OWB "runtime" repository, so if you register multiple control centers - you can monitor target databases from single location. In Repository Browser you always work with single OWB repository (you specify connection details of database at startup page).
4. If we have single repository owner and multiple repository user, can we monitor all the repository user executing jobs and its status?Yes, you can.
Maybe this thread will be helpful to you
How to create a runtime repos in 10gR2
OWB Standalone Target Schema - Split Architecture
Regards,
Oleg
Message was edited by:
oleg -
Can't use trial - error message: "architechture" won't support program
I have run CS4 photoshop on my Macbook Pro - but now I can't run the trial of either photoshop or dreamweaver - the error says the architecture (of my machine) won't support the program. I'm wondering if anyone knows a work around. I called apple - they say that Adobe just hasn't gotten the trials to work with the newer operating systems of OSX. If that is true it seems like bad business since photoshop is their flagship graphics program and Mac are the graphics computers.
mlrmlrmlr wrote:
I have run CS4 photoshop on my Macbook Pro - but now I can't run the trial of either photoshop or dreamweaver - the error says the architecture (of my machine) won't support the program. I'm wondering if anyone knows a work around.
Ask in the Photoshop Mac forum.
http://forums.adobe.com/community/photoshop/photoshop_macintosh -
Security architechture ACL in java
Hello Friends i m chandrashekar.
I am working on a java application.
i have a problem that i need to provide the security architecture for that application using ACL in java.to restrict each user
can u send me one small code or example which contains java.security.acl where when user will log in then the acl will check for the security
Thanx..
ChandrashekarI see from the defined interfaces that its an attempt at a formal approach to RBAC. However RBAC can be implemented without it all together using existing J2SE and JAAS based constructs. This does not answer the redundancy question. Could you elaborate a little bit more?
Thanks,
Alex -
XRPM4.0 Architechture - If modifications are possible??
Hello Forum Members,
I am new to xRPM4.0 . I have some queries regarding xRPM, those are as follows,
<b> 1. Which technology xRPM4.0 Application is built on ?
2. Is it possible to customize the application if required ? If yes, then how ?
</b>
Thanks and Regards,
Sugata BasuCustom Configuration
Technical Data
Runtime Technology
Java iView
Technical Name
com.sap.pct.cprxrpm.cust_config
Available for Portal(Release)
Enterprise Portal 7.0 (SP4)
Data Source
sap.com/xappscprxrpmuiptnconfig ConfigApp
Languages
Available in the package languages
Support
EP-PCT-RPM
Features
In the Administration context is a Custom Configuration link which opens the Pattern Configuration iView. The Pattern Configuration iView provides central access to xRPM pattern configuration for the Portfolio Administrator. The Pattern Configuration screen allows the user to configure charts and patterns which are then viewable in other contexts. Pattern Configuration exposes the configuration components of the following patterns:
· Dashboard Patterns
· Charting Patterns (for charts and tables)
· Cockpit Configuration
The patterns can be configured with these data sources:
¡ /Rpm/Portfolio_Getlist
¡ /Rpm/Bucket_Getlist
¡ /Rpm/Item_Getlist
¡ /Rpm/Review_Getlist
¡ /Rpm/Qnnr_Get_List
¡ /Rpm/Person_Getlist
¡ /Rpm/Decision_Point_Getlist
This allows the administrator to configure runtime instances for these patterns and store the corresponding configuration metadata in the J2EE runtime repository.
Once the patterns have been selected, and the data sources chosen in the Pattern Configuration screen in the Administration context, then user charts, tables and dashboards will contain data formatted in the manner the user has configured, and they will be viewable via the Reporting Cockpit to one of the Analytics iViews located in the other contexts:
Context
To Access the Analytics iView
Portfolio Management context
At the Portfolio level context, click the Reporting Cockpit link.
For the Item level context, open an Item, then click Reporting Cockpit link.
For the review context, click Reviews link, select a Review, then click Reporting Cockpit link.
For the bucket level context, click Portfolio Structure, select one Bucket, then click Reporting Cockpit link.
Item Management context
Select an item, then click Reviews link, select a Review, then click Reporting Cockpit link.
In addition to allowing the user to select a pattern and a data source, the features on the Pattern Configuration screen also allow the user to:
· Enter and edit configuration data for dashboard configurations
· Enter and edit configuration data for charting configurations
· Enter and edit configuration data for cockpit configuration
· Save specific configuration instances
· Preview specific configuration instances
· Load existing configuration instances per data source and per pattern
· Delete specific configuration instances.
Important
Configurations are bound to a Data Source. A data source represents a RFC function module return table for example data source Rpm_Item_Getlist-Et_Items represents the return list of RFC function /RPM/ITEM_GETLIST.
Different data sources contain different fields (for example, an item has different attributes than a portfolio), hence all chart configurations, and all dashboard configurations, and all cockpit configurations are bound to a Data Source.
Pattern
Configurations
Dashboard Patterns
The dashboard configuration screen allows the user to create new and modify existing dashboard configurations.
A dashboard configuration defines how the result of a specific query is rendered in a dashboard pattern instance. For every dashboard visible to the user, a pattern instance has to be configured, e.g. the visual component Portfolio Dashboard has its own configuration PortList.
Charting Patterns
The chart configuration screen allows the user to display and modify existing chart configurations and to create new chart configurations.
A chart configuration defines how the result of a specific query (the data returned by a specific data source) is used to render a chart.
Cockpit Configuration
The cockpit configuration screen allows the user to display and modify existing cockpit configurations and to create new cockpit configurations.
A cockpit configuration defines how the result of a specific query (the data returned by a specific data source) is used to render one or more charts and or dashboards.
Cockpit configurations are also bound to a data source, so within a cockpit configuration only chart and dashboard configurations from the corresponding data source can be used.
Integration
Pattern
Integration
Dashboard Patterns
The dashboard configuration is integrated into the pattern configuration.
After a configuration has been saved, it can be selected in the cockpit configurator, where existing chart and dashboard configurations can be combined into one cockpit configuration.
The Analytics view for Portfolios, Buckets and Reviews renders for each of the charts or dashboards as defined in the used cockpit configuration all items within that Portfolio, Bucket or Review respectively.
Each of these dashboards is rendered as defined in the corresponding dashboard configuration.
Charting Patterns
The chart configuration is integrated into the pattern configuration.
After a configuration has been saved it can be selected in the cockpit configurator, where several chart and dashboard configurations can be combined to one cockpit configuration.
The Analytics view for Portfolios, Buckets and Reviews renders for each of the charts or dashboards (as defined in the used cockpit configuration) all items within that Portfolio, Bucket or Review respectively.
Each of these charts is rendered as defined in the corresponding chart configuration.
Cockpit Configuration
The cockpit configuration is integrated into the pattern configuration.
To assign any chart or dashboard configurations to a pattern, the pattern configurations must first have been created.
The Analytics view for Portfolios, Buckets and Reviews renders for each of the charts or dashboards as defined in the user cockpit configuration (see below) all items within that Portfolio, Bucket or Review respectively.
Prerequisites
Dashboard Patterns
· The iView must be connected to the backend system.
· No special plug-in is required.
· No specific support package/ patch is required.
· The dashboard configuration has to be set in the iView properties.
· No legal requirements are known.
Charting Patterns
To render charts, the J2EE has to be linked to a running IGS via HTTP. The IGS URL is set up in the J2EE Administration
Cluster
· Server
· Services
· configuration Adapter
· webdynpro
· sap.com
· tcwddispwda
· Propertysheet.default
IGSUrl
Cockpit Configuration
Create chart and dashboard configurations as needed for your cockpit.
Settings
This application is an administrative tool and requires no high level customization.
Users can follow steps to create new dashboard configurations, new chart configurations and new cockpit configurations.
To create a new dashboard configuration, users take the following steps:
Select a data source
Enter a descriptive table title in Dashboard Header
Enter a value for Width (Note: The width can be entered either in pixel or percentage (e.g. 600px/ 75%)
If no width entry is made, the table width is defaulted to 100%.
Check values for table sorting/ filtering
Select required buttons on the dashboard toolbar.
Add dashboard columns by selecting single/ multiple fields in the table Fields and pressing the button Add as Column(s).
Move added dashboard columns up or down by using buttons Move up/ Move down on the table Dashboard Columns.
Remove no required columns from the table Dashboard Columns by selecting column and pressing button Remove.
Configure each column to be either text, link, or linked icon by checking values for Icon and Link in every selected column.
Press button Preview to view runtime instance of current configuration data.
Enter configuration name in Save as and press button Save.
To create a new chart configuration, users take the following steps:
Pick a chart type, which matches your requirements
Fill out all header fields like Description, Chart Header and so on.
Assign one field to each chart dimension
To assign a field to a chart dimension
Select the chart dimension either via the drop-down list-box or by selecting the corresponding row in table Chart Dimensions
After a chart dimension has been selected a filter is set for row Data Type in table Fields. So only fields are shown with at data type which matches the selected chart dimension. It is not recommended to assign fields with a different data type then the suggested one. Most of the times this would cause a dump when the chart is rendered.
Assign a field to the chart dimension by simply selecting the corresponding row in the Fields table and pressing the Map button.
Save the configuration.
After the configuration has been saved it can be assigned to a cockpit configuration.
The following chart types are currently supported:
Portfolio Chart
Each rendered object is represented by one circle; the position and size of that circle are defined by assigned dimensions.
A vs. B Portfolio Chart
Each rendered object is represented by one circle; the position and size of that circle are defined by assigned dimensions. This chart can be used as a Risk/Reward diagram.
Column Chart
Each rendered object is represented by one column Used to do a simple nominal comparison
Column Sets Chart
Each rendered object is represented by 3 column Used to compare forecast / planned / actual numbers of several objects
Bar Chart
Each rendered object is represented by one bar Used to do a simple nominal comparison
Gantt Chart
In this chart the x-axis represents time. Each rendered object is represented by one bar with its length defined by the assigned start and end time of that object.
Gantt Sets Chart
In this chart the x-axis represents time. Each rendered object is represented by 3 bars with their length defined by the assigned start and end times of that object. Used to compare forecast / planned / actual dates of several objects
To create a new cockpit configuration, users take the following steps:
Fill out all header fields like Description, Cockpit Header and so on.
Add as many tables or charts as you need to your cockpit by pressing the button Add Table/Chart.
You can get a first idea how the cockpit is going to look like from the Cockpit Layout area.
You can arrange the position of each cell (chart or dashboard) within the cockpit by
Changing the number of columns of the cockpit (change the value in field Columns and press button Apply)
Selecting a cell and pressing one of the Move buttons
Changing the column span of a cell (Select a cell, change the value of field Column Span and press button Apply Changes)
Define the content of each cell
Select a cell
Set the cell to be a chart or dashboard via the matching radio button
If the cell is a chart assign a chart configuration
If the cell is a dashboard assign a dashboard configuration
If you have set the header field Place in individual Trays provide a Tray Title
Save the configuration.
After the configuration has been saved it can be assigned to a cockpit configuration.
For technical reasons a cockpit can be previewed only once without restarting. If a user wants to preview it again, the user must save the configuration, restart the iView (by pressing the link Custom Configuration on the left hand navigation panel) and then reload the newly saved configuration. Only then can the user press preview a second time. -
Suggestions on Architechture for Flex4
Hi - Can someone point to links to download cairngorm swc for Flex4? Also we want to seperate presentation models from views, so that the views are focussed on layouts. I found that Parsley framework may help me get to that. But swc for that is around 217 KB for Flex4. Does Parsley include Cairngorm in itself? i.e should I include Cairngorm seperately if I want to use Cairngorm with Parsley?
Also I want to get some tutorials or sample applications with Parsley framework, to help me u'stand how to use inject better to seperate models from views. Can someone point me to good examples or tutorials on that as well?
Also pls let me know pros and cons of using Parsley vs Cairngorm?The cairngorm site has only link to source but am looking for the Cairngorm.swc
Do you have any sample examples on robotlegs framework, on how to seperate model from view so that view has only the layout code. I'm talking abt something like this. (Link : http://opensource.adobe.com/wiki/display/cairngorm/SimpleSampleApplicationExplained)
<mx:Script>
<![CDATA[
[Inject]
[Bindable]
public var model:ToolbarPM;
]]>
</mx:Script>
<mx:Button
styleName="contactsAddButton" toolTip="Add Contact"
click="model.addContact()"/>
<mx:Spacer width="100%"/>
<mx:Label text="Search:"/>
<mx:TextInput id="searchBox"
change="model.search(searchBox.text)"/> -
Sharepoint (Public facing site) Project Guidance
Hi friends ,
This is my first sharepoint project (SP 2013) for which I have been asked to develop a public facing internet site.
I do have a basic idea about certain concepts of sharepoint but still I'm looking for a guidance to how to go about with the project.
Requirements :
1. There are many modules. And each module has many courses.
ROLES : Anonymous Users : Read and download
Content Authors : Add, Edit, Delete content.
Approvers : Publish content
Need to implement cross-site publishing model (correct me if I'm wrong).
3. In one of the webpages of the website, there will be a table in the layout displayed as below: in which anonymous users can only read and download
documents. The brochure icons should allow to download document when clicked. Only authors have the authority to do any editing of the content as mentioned earlier.
Title
Duration
Brochure
--------------------------------------------MODULE 1------------------------------------
Course 1
Course 2
--------------------------------------------MODULE 2------------------------------------
Course 1
--------------------------------------------MODULE 3------------------------------------
Course 1
Course 2
Course 3
4. Authors should have an interface where they can input the dates for individual courses for the entire year like in a calendar control and
display to anonymous users (only read) a set of all the courses scheduled like below:
Jan Feb Mar
Apr May June July Aug Sep Oct Nov Dec
--------------------------------------------MODULE 1------------------------------------
Course1 08-10 02-04
Course2 05-09
--------------------------------------------MODULE 2------------------------------------
Course1 08-10 02-04
Course2 05-09
QUERIES :
1. Based on my minimal knowledge, I suppose I should use document library for creating courses under specific modules.
But how do I customize the look and feel of the library based on the layout mentioned.
2. How to implement the calendar kind of functionality and how to combine all the scheduled courses together to be displayed in a webpage?
3. should I first design the authoring and publishing sites, then create master pages and then go for creating all list and libraries? What should
be the protocol for the above project?
Guys, its my humble request to please help me out :( :( :(.....Thank you in advance. Sorry for such a long description. Spare me on this. Have a good
day :)1. Since I want a column called brochure which should be an icon (for each course record) and which will invoke upload/download( for authors) and only download for anonymous users, is there a datatype that is supported in custom list...because I couldn't
find any. Or do I have to implement a document library app?
Inder: Try Image content type. But on click it will download image and not whole course material. So my suggestion here is to create a calculated column to pull image and link download.
2. I would be very grateful if you could provide me with some useful links which might have a step by step procedure for implementing site architechture :
a)cross site publishing model
b) how to define the user permissions and content approval workflow for approvers
c) Customizing style of the custom list through sharepoint designer
Correct me if I'm wrong :
The protocol should be :
1. To plan site architechture which involves implementing cross site publishing model Inder: Yes, if required
2. Defining Lists and libraries ( I hope document library app is not required for the above specs..custom list should be fine) Inder : Yes
3. Customizing the style of custom lists and calendar functionality through sharepoint designer. : Inder: Prefer using CSS and designer.
4. Applying master pages and page layouts. : Inder Perfect. 3-4 can go together
If this helped you resolve your issue, please mark it Answered -
How to restore broken links after server migration in Indesign CS3???
Hi All,
I have used my google skills to no avail and everything I have read here has been a dead end for me. I can't be the only person in this situation, so hopefully someone can help!
My marketing department has reached the storage limits of our shared network drive. Located on this drive is our (HUGE) image library which acts as a single central respository serving up our indesign links (read here: we don't package files - to conserve space). We have decided that in an effort to create a true archive and have more space for our image library we need to migrate the library to a new 16 terabit Drobo (yay!).
The problem is that every INDD file that links to the current library will now suffer from broken links. We literally have hundreds of INDD files and thousands of links. The good news is...the file structure isn't changing at all! Just the server location is changing. Is there any way to to a batch update of the links that tells INDD to look for the exact same file path on a different drive?
In short:
current image library (old server): marketing/image library/photos/products/multiple product folders
new image library (new server): drobo/image library/photos/products/multiple product folders
I want to point InDesign to the new server and have it pick up the file path without having to navigate to each and every file individually. Voila!
Is this even possible? Is there any 3rd party software to help? Other architechture solutions that might be suggested?
Thanks so much for the help!
AlexI wrote several scripts to solve this problem, here is one of them.
// Change paths of links.jsx
// Script for InDesign CS3 and CS4 -- changes the path of each link in the active document.
// Version 1.0
// May 13 2010
// Written by Kasyan Servetsky
// http://www.kasyan.ho.com.ua
// e-mail: [email protected]
var gScriptName = "Change paths of links";
var gScriptVer = 1;
var gOsIsMac = (File.fs == "Macintosh") ? true : false;
var gSet = GetSettings();
if (app.documents.length == 0) {
ErrorExit("No open document. Please open a document and try again.", true);
var gDoc = app.activeDocument;
var gLinks = gDoc.links;
var gCounter = 0;
if (gLinks.length == 0) {
ErrorExit("This document doesn't contain any links.", true);
CreateDialog();
//======================= FUNCTIONS =============================
function CreateDialog() {
var dialog = new Window("dialog", gScriptName);
dialog.orientation = "column";
dialog.alignChildren = "fill";
var panel = dialog.add("panel", undefined, "Settings");
panel.orientation = "column";
panel.alignChildren = "right";
var group1 = panel.add("group");
group1.orientation = "row";
var findWhatStTxt = group1.add("statictext", undefined, "Find what:");
var findWhatEdTxt = group1.add("edittext", undefined, gSet.findWhatEdTxt);
findWhatEdTxt.minimumSize.width = 300;
var group2 = panel.add("group");
group2.orientation = "row";
var changeToStTxt = group2.add("statictext", undefined, "Change to:");
var changeToEdTxt = group2.add("edittext", undefined, gSet.changeToEdTxt);
changeToEdTxt.minimumSize.width = 300;
var btnGroup = dialog.add("group");
btnGroup.orientation = "row";
btnGroup.alignment = "center";
var okBtn = btnGroup.add("button", undefined, "Ok");
var cancelBtn = btnGroup.add("button", undefined, "Cancel");
var showDialog = dialog.show();
if (showDialog== 1) {
gSet.findWhatEdTxt = findWhatEdTxt.text;
gSet.changeToEdTxt = changeToEdTxt.text;
app.insertLabel("Kas_" + gScriptName + "_ver_" + gScriptVer, gSet.toSource());
Main();
function Main() {
WriteToFile("\r--------------------- Script started -- " + GetDate() + " ---------------------\n");
for (var i = gLinks.length-1; i >= 0 ; i--) {
var currentLink = gLinks[i];
var oldPath = currentLink.filePath;
oldPath = oldPath.replace(/:|\\/g, "\/");
oldPath = oldPath.toLowerCase();
gSet.findWhatEdTxt = gSet.findWhatEdTxt.replace(/:|\\/g, "\/");
gSet.changeToEdTxt = gSet.changeToEdTxt.replace(/:|\\/g, "\/");
gSet.findWhatEdTxt = gSet.findWhatEdTxt.replace(/([A-Z])(\/\/)/i, "/$1/");
gSet.changeToEdTxt = gSet.changeToEdTxt.replace(/([A-Z])(\/\/)/i, "/$1/");
gSet.findWhatEdTxt = gSet.findWhatEdTxt.toLowerCase();
gSet.changeToEdTxt = gSet.changeToEdTxt.toLowerCase();
if (File.fs == "Windows") oldPath = oldPath.replace(/([A-Z])(\/\/)/i, "/$1/");
var newPath = oldPath.replace(gSet.findWhatEdTxt, gSet.changeToEdTxt);
if (File.fs == "Windows") {
newPath = newPath.replace(/([A-Z])(\/\/)/, "/$1/");
else if (File.fs == "Macintosh") {
newPath = "/Volumes/" + newPath;
var newFile = new File(newPath);
if (newFile.exists) {
currentLink.relink(newFile);
gCounter++;
WriteToFile("Relinked \"" + newPath + "\"\n");
else {
WriteToFile("Can't relink \"" + newPath + "\" because the file doesn't exist\n");
WriteToFile("\r--------------------- Script finished -- " + GetDate() + " ---------------------\r\r");
if (gCounter == 1) {
alert("One file has been relinked.", "Finished");
else if (gCounter > 1) {
alert(gCounter + " files have been relinked.", "Finished");
else {
alert("Nothing has been relinked.", "Finished");
function GetSettings() {
var settings = eval(app.extractLabel("Kas_" + gScriptName + "_ver_" + gScriptVer));
if (settings == undefined) {
if (gOsIsMac) {
settings = { findWhatEdTxt:"//ServerName/ShareName/FolderName", changeToEdTxt:"ShareName:FolderName" };
else {
settings = { findWhatEdTxt:"ShareName:FolderName", changeToEdTxt:"//ServerName/ShareName/FolderName" };
return settings;
function ErrorExit(myMessage, myIcon) {
alert(myMessage, gScriptName, myIcon);
exit();
function WriteToFile(myText) {
var myFile = new File("~/Desktop/" + gScriptName + ".txt");
if ( myFile.exists ) {
myFile.open("e");
myFile.seek(0, 2);
else {
myFile.open("w");
myFile.write(myText);
myFile.close();
function GetDate() {
var myDate = new Date();
if ((myDate.getYear() - 100) < 10) {
var myYear = "0" + new String((myDate.getYear() - 100));
} else {
var myYear = new String ((myDate.getYear() - 100));
var myDateString = (myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myYear + " " + myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds();
return myDateString;
You can specify a platform-specific path name, or a path in a platform-independent format known as universal resource identifier (URI) notation, or Mac OS 9 path name (for Mac).
For example any of the following notations are valid:
Windows
c:\dir\file (Windows path name)
/c/dir/file (URI path name)
//10.44.54.70/Test/images (uniform naming convention (UNC) path name of the form //servername/sharename)
//Apple/Test/images
\\10.44.54.70\Test\images (Windows path name)
\\Apple\Test\images (Windows path name)
where 10.44.54.70 IP address of the server, Apple -- DNS name of the server, Test -- share name
Mac
The following examples assume that the startup volume is MacOSX, and that there is a mounted volume Remote.
/dir/file (Mac OS X path name)
/MacOSX/dir/file (URI path name)
MacOSX:dir:file (Mac OS 9 path name)
/Remote/dir/file (URI path name)
Remote:dir:file (Mac OS 9 path name)
Remote/dir/file (Mac OS X path name)
You can just copy a part of the path in Links panel and paste it to the script's dialog. In CS4, make sure to choose "Copy Platform Style Path" in context menu.
The case of the characters doesn’t matter: you can type both in upper and lowercase in the script's dialog. For example — Test, test, TEST, TeSt — are all the same for the script.
Regards,
Kasyan
Maybe you are looking for
-
Pening GR List.....Any report Available
Dear Gurus, Client is asking as of date, how many GR are pending for Invoice Verification...Can we get the list in SAP. PLease guide. Regards, Venkat
-
How can I tell if my mountain lion installation failed?
My 2007 MBP has been updating to 10.8 from 10.7 now for about 3 hours. I see an Apple logo on the main screen, the keyboard is lit, and that's it. If I put my ear up to the machine around where the HD is, I hear noise, but no seeking (not that I real
-
How do i check what is open on my macbook pro
my computer is slow on start-up and when i move to different windows all i get is a spinning disc
-
How to update my Nokia Lumia 710?
Sir I want to update my window software of my Nokia lumia 710 as windows 8 or 7.8. So how can I do?? Moderator's note: The post was edited. A better subject was provided.
-
No Documentation for Paper Capture in Acrobat 6 Professional
Do not understand why 'paper capture' yields no results in the local or online help for Acrobat 6 professional. Never used it and would like to find documentation on its use.