Generate AWR customer is it possible?

Hi, there is a way to call this script: @$ORACLE_HOME/rdbms/admin/awrrpti.sql not connected to the server, I mean I want to generate the report connect to my localmachine on oracle no server running oracle. any idea?

Thank you very much

See the documentation for the DBMS_WORKLOAD_REPOSITORY package oracle.  You can run an AWR report by running the package procedure

that is all the awrrpti.sql script is anyway.

In the Oracle documentation which I have provided a link below in the well.

Example:

-Be sure to set the appropriate size

-set linesize 152

SELECT output TABLE)

DBMS_WORKLOAD_REPOSITORY. AWR_REPORT_TEXT (1557521192, 1, 5390, 5392));

See the functions

AWR_REPORT_TEXT

AWR_REPORT_HTML

http://docs.Oracle.com/CD/B28359_01/AppDev.111/b28419/d_wkrpos.htm#BACCJHDI

Tags: Database

Similar Questions

  • More fields customized in eCommerce, Possible?

    I have a client who needs more custom fields to enter data on its products.

    How is it possible to do?

    It is as it is. You can make a web application by the section and put a module in a custom field for a bit more but there is a management more with it. There are other people with similar proposals saying "Yes it is possible," but it's a management more and not really viable for the client.

    So, really, the answer is no.

  • serializer custom replicated cache possible?

    Hi all

    I would like to know if it is possible to use a serializer custom on a replicated cache. I have it working successfully for a partitioned cache, but it doesn't seem to be a < serializer > tag to the duplicate version.

    Thank you
    Luke


    My excerpt from config.xml

    < distributed plan >
    partition of < scheme name > < / system-name >
    < service name > DistributedCache < / service-name >

    < serializer >
    > class name < com.tangosol.io.pof.ConfigurablePofContext < / class name >
    < init-params >
    < init-param >
    type string < param > < / param-type >
    < param-value of the property system = "pof - config.xml" > file:pof-config.xml < / param-value >
    < / init-param >
    < / init-params >
    < / serializer >

    < support-map-plan >
    schema < class >
    < system-Ref > by default-support-map < / plan-ref >
    < / class-system >
    < / support-map-plan >

    backup < number > 0 < / backup-County >
    < / distributed plan >

    < replicated system >
    default < scheme name > < / system-name >
    < service name > ReplicatedCache < / service-name >
    < support-map-plan >
    schema < class >
    < system-Ref > by default-support-map < / plan-ref >
    < / class-system >
    < / support-map-plan >
    < / replicated system >
    < / cache-plans >

    <!-card memory support, disable statistics - >
    schema < class >
    < scheme name > - by default-support-map < / system-name >
    > class name < com.tangosol.util.SafeHashMap < / class name >
    < / class-system >


    .. .the pof - config.xml extracted...

    Type < user >
    < type id > 105 < / id-type >
    > class name < AuditEvent < / class name >
    < serializer >
    > class name < AuditEventPOF < / class name >
    < / serializer >
    < / user type >


    .. .and what is at AuditEventPOF...

    / public class AuditEventPOF implements PofSerializer {}
    public void serialize (writer PofWriter, java.lang.Object o) {}
    public java.lang.Object deserialize (PofReader reader)
    }

    It is a known issue, which we do not have the document in the Coherence 3.4 Known Issues page. I just added to the page, and the fix will be a part of Patch 2, which will be published in a few days.

    Kind regards
    Gene

  • Intelppm.sys of error blue screen when you try to generate a custom.wim with WDS

    I have 20 Toshiba Portege R700 and when I try to generate a wim file personalized with all my apps, the system crash and a screen beautiful blue appears with the error in intelppm.sys. The image capture starts but never stops and crashes not always at the same size. The BIOS and drivers are up to date. Can someone help me?

    Hello

    What is the file wim and what program you use to create this file?

    Do do you this on the version preinstalled Windows from Toshiba?

  • Is there a better way to generate the custom timed digital signals

    I'm trying to generate the digital output from the top and down with delays on different lines. Each daq assistant is activate single line on a port USB 6501. There more complex high and lows that I need to generate variable time difference between high and low. There is codebelow that does what I'm trying to achieve, but for a model executing high and low signal is much of your time to do it this way. I'm sure there is a better way to do it, I'm not an expert on labview so I only discovered its potential. Anyone can suggest a more effective and a quick way to do it. I would like to hgihly appreciate. Thank you!

    I've not shown in the code below, but using the DAQ assistant, I initialized lines at low logic level.


  • Not truly Plug &amp; Play with the generated for custom USB device .inf file

    Hello

    We have developed an application that uses the library OR-VISA-in order to communicate with our USB device via RAW communication.

    This is why we created an *.inf file using the driver Wizard. Once we plug-in the device for the first time, windows enumerates the device successfully and the 'Found new hardware' pop-up - window.

    We chose the .inf file that is created, and the device is properly installed.

    Our problem occurs when we plug one another device of the same type but with a different Serial-ID (which means that same VID, PID, only the ID for the USB - stick is different).

    For all devices with a Serial-ID, which has not been connected to windows, and yet, the "found new hardware" - window opens again so that you HAVE to choose the installation procedure. Despite the fact that the driver for this type of device was already installed, windows does not affect our driver .inf file to the device.

    If we chose, then in the "Found new hardware" procedure - the "Automatic Setup" window - the device is installed and can be used successfully.

    Of course, windows recognizes the right driver but does not automatically assign it without pop-up windows. We want to avoid the pop-up reapeating for each device.

    I did some research on this subject, and now I guess the problem is that the generated .inf file has no signature.

    Does anyone have experiences on this subject? Am I wrong? Does anyone have or had the same problem?

    All solutions next assign the same ID series for all devices?

    Here some quote the file setupapi.log (which seems to confirm my hypothesis):

    # 199 Executing "C:\WINDOWS\system32\rundll32.exe" with command line: rundll32.exe newdev.dll, ClientSideInstall \\.\pipe\PNP_Device_Install_Pipe_0. {} FA2413C7-7354-42DC-845B-DC109B5174FC}
    #I060 set driver selected.
    # 019 Searching for hardware ID (s): usb\vid_1234 & pid_1234 & rev_1234, usb\vid_1234 & pid_1234! (1234 VID is only for the objective test!)
    # 018 search compatible identification: usb\class_ff & subclass_00 & prot_00, usb\class_ff & subclass_00, usb\class_ff
    Found #I022 'USB\VID_1234 & PID_1234' in C:\WINDOWS\inf\oem70.inf; Feature: "xyz"; Pilot: "xyz"; Supplier: "xyz"; MFG: "xyz"; Section name: "NIVIUSBK_Inst."
    Node #I087 untrusted, rank replaced by 0 x 00000001 0x0000c001 driver.
    Actual installation #I023 section: [NIVIUSBK_Inst]. Rank: 0x0000c001. Effective driver date: 25/09/2007.
    # 166 device install function: DIF_SELECTBESTCOMPATDRV.
    #I063 Selected driver installs from section [NIVIUSBK_Inst] 'c:\windows\inf\oem70.inf '.
    #I320 of the remains of the device class GUID: (36FC9E60-C465-11CF-8056-444553540000).

    Welcome,

    Philipp

    Hi Philip,

    Thanks a lot to post your question. I talked to our specialists in the United States on the signing of your created driver. You will find a brief description in the Readme of NI-VISA:

    "WHQL signature hardware USB.

    WHQL (Windows Hardware Quality Labs) sign your USB hardware using the driver NI-VISA for Windows XP / 2000, as part of this process it takes a PDB (program database) file to the underlying driver (NiViUsbK.sys).

    NiViUsbK.pdb is provided for this purpose. It is in \WinNT\NIvisa\USB. This is usually C:\VXIPNP\WinNT\NIvisa\USB. »

    To get it done, you must contact Microsoft. We are not allowed / able to sign your driver for you.

    Perhaps, the following link helps you: http://www.microsoft.com/whdc/winlogo/wlk/default.mspx

    Best regards

  • Custom Zoom steps possible?

    I just got a screen of 4 k. 31.5 inches (140dpi)

    Then when I open a Photoshop of a Web site design and display 100% his watch more little then in my browser that is being enhanced.

    So in photoshop, I have about 150% zoom view them both in the same size.

    But Photoshop is that the 100% to 200% zoom step, using the shortcut CTRL +.

    So I would add 150% as an additional step fixed zoom. Is it possible somehow?

    I know it can be done manually on the lower left each time. But that takes too much time typing every time.

    (Photoshop team, please also add 150% ui maginification instead of 200%, which is too much.)

    Save the code in a text file with the extension .jsx and place the file in the Photoshop subfolder below: Presets\Scripts. Restart Photoshop and you should see the script in the file > scripts menu. Record an action and run this script. You can assign a keyboard shortcut for it.

    #target photoshop
    setZoom (150);
    
    function setZoom( zoom ) {
       cTID = function(s) { return app.charIDToTypeID(s); };
       var docRes = activeDocument.resolution;
       activeDocument.resizeImage( undefined, undefined, 72/(zoom/100), ResampleMethod.NONE );
       var desc = new ActionDescriptor();
       var ref = new ActionReference();
       ref.putEnumerated( cTID( "Mn  " ), cTID( "MnIt" ), cTID( 'PrnS' ) );
       desc.putReference( cTID( "null" ), ref );
       executeAction( cTID( "slct" ), desc, DialogModes.NO );
       activeDocument.resizeImage( undefined, undefined, docRes, ResampleMethod.NONE );
    }
    
  • Custom interactive representatives possible?

    4.2.1

    Hello

    Searched online about this but to get answers from a couple of years back. Is it possible to have an interactive relationship with a dynamic where clause? If the report I would have something like

    Select empid, emp_name of emp

    and then where clause is built separately in a process that contains a pl/sql block that where all conditions, such as
    Begin
    
    if :P1_type = 1 then
    
     :WHERE_VAR := 'where name like 'Jon%';
    else
    
     :Where_var := 'where dept  = 10;
    end if;
    
    end;
    and then the variable is referenced in the interactive report.

    Is this possible?


    Thank you
    Ryan

    ryansun wrote:
    4.2.1

    Hello

    Searched online about this but to get answers from a couple of years back. Is it possible to have an interactive relationship with a dynamic where clause? If the report I would have something like

    Select empid, emp_name of emp

    and then where clause is built separately in a process that contains a pl/sql block that where all conditions, such as

    Begin
    
    if :P1_type = 1 then
    
    :WHERE_VAR := 'where name like 'Jon%';
    else
    
    :Where_var := 'where dept  = 10;
    end if;
    
    end;
    

    and then the variable is referenced in the interactive report.

    Is this possible?

    Lol there are different reasons related to the IR characteristics which mean that changes to the projection of report or the results outside the IR break the current IR view or saved IR reports. This means that the application of the IR must remain fixed.

    You have probably already found options for creating IRs on sources of dynamic data - unions, collections of APEX, views set, functions in pipeline. DPV may also be an option when you use a database of EE.

    For a simple example like the one above, use a union query with predicates that will cause unnecessary subqueries to remove:

    select empid, emp_name
    from  emp
    where name like 'Jon%'
    and   :p1_type = 1
    union all
    select empid, emp_name
    from  emp
    where dept = 10
    and   (:p1_type != 1 or :p1_type is null)
    

    (Although these predicates looks a lot more like something that would be used in an IR filter rather than a dynamic data source. Note that you can create dynamic links and the branches IR filters).

  • graphic objects custom-is it possible?

    The task is to create my own map in illustrator which will interact with spreadsheets similar to existing graphics from Illustrator.  Is this possible?  Looks like an excersise script to set basic objects and layout settings, then one of these parameters (in this case a diameter) a link to an excel file prepared with measures unique-number of pixels.  A key element is that the table should be updated in the database is changed.

    Any ideas?

    Isn't fun script. It was a breeze (well - sort) to get something running for InDesign & top... Now translate into very different Javascript for Illustrator has proved more difficult than I thought!

    (There no way to align text vertically within its framework? It is now-of the sort, but it depends on the number of lines of text...)

    Type (or copy or import) your values in a new block of text. Separate the label and the value in a single tab. The values will be sorted automatically, and the greatest value will appear in the middle. the rest will be distributed nicely around the edge. I noticed my mathematical distribution isn't exactly the same as the sample you provided... even when you allow for a pixel here or there. I wonder why?

    For better or for worse, this is what it produces - the first tiebreaker will always be at an angle of 45 degrees, the rest is separated from each other by an exact distance of 5 points.

    and here's the script:

    //DESCRIPTION:Krazy Circular Diagrams
    // A Jongware Script 24-Sep-2010
    
    // Uses a tab-separated set of String / value data
    // which ought to be selected when running the script.
    // Use but do not abuse, please.
    
    if (app.documents.length == 0 || app.selection.length != 1 || !(app.selection[0].hasOwnProperty("baseline") || app.selection[0].hasOwnProperty("contents")))
    {
         alert ("Please select the text frame containing data");
    } else
    {
         var dataArray;
         var resultGroup;
    
         var parent_diameter = 100;
         var parent_position_x = app.activeDocument.activeView.centerPoint[0];
         var parent_position_y = app.activeDocument.activeView.centerPoint[1];
    
         var black = new GrayColor(); black.gray = 100;
         var white = new GrayColor(); white.gray = 0;
    
         dataArray = gatherValues(app.selection[0]);
         if (dataArray.length == 0)
              alert ("Unable to get sensible values .. please check");
         else
         {
              calculateValues ();
              resultGroup = app.activeDocument.groupItems.add();
              drawCircles(resultGroup);
         }
    }
    
    function gatherValues (fromItem)
    {
         var result = new Array();
         var l, line, lines, dataSource;
    
         if (fromItem.hasOwnProperty("baseline"))
              dataSource = fromItem.parentStory.contents;
         else
              dataSource = fromItem.contents;
    
         lines = dataSource.split ("\r");
    
         for (l=0; l position of center of B (anywhere)
              // oh, and distance from parent_center to child_center B is the same as to child_center A!
              // checking on Wikipedia, http://en.wikipedia.org/wiki/Law_of_sines
              // yields something like this ...
    
                   angle_diff = Math.asin ( ((dataArray[nextCircle+1][2]/2 + 5 + dataArray[nextCircle][2]/2)/2) / centerDistance);     // in Radians
                   angle_diff = 2*angle_diff * 180 / Math.PI;     // in Degrees
                   circleAngle = circleAngle - angle_diff;
              }
         }
    }
    
    function drawCircleAt (group, xpos, ypos, textAndSize, color, lineto_x, lineto_y, parentRad, angle)
    {
         var tframe, line;
    
    //     The connexion line, if any
         if (lineto_x != undefined && lineto_y != undefined && parentRad != undefined)
         {
              angle = Math.PI * angle / 180.0;
    
              line = group.pathItems.add();
              line.setEntirePath ( [[lineto_x + parentRad*Math.cos(angle),lineto_y + parentRad*Math.sin(angle)], [xpos - textAndSize[2]/2*Math.cos(angle),ypos - textAndSize[2]/2*Math.sin(angle)]]);
              line.filled = false;
              line.stroked = true;
              line.strokeWidth = 0.5;
              line.strokeColor = black;
         }
    
    //     The Circle
         circle = group.pathItems.ellipse (ypos+textAndSize[2]/2, xpos-textAndSize[2]/2, textAndSize[2], textAndSize[2]);
         circle.strokeColor = black;
         circle.strokeWidth = 0.5;
         circle.fillColor = color;
    
    //     The Text Frame
         tframe = app.activeDocument.pathItems.rectangle(ypos+textAndSize[2]/6, xpos-textAndSize[2]/2, textAndSize[2], textAndSize[2]/2);
         tframe = group.textFrames.areaText(tframe);
         tframe.contents = textAndSize[0];
         tframe.wrapInside = false;
         tframe.wrapped = false;
         tframe.textRange.hyphenation = false;
         tframe.textRange.justification = Justification.CENTER;
         tframe.textRange.textFont = app.textFonts.getByName("MyriadPro-Regular");
         tframe.textRange.characterAttributes.size = textAndSize[2]/6;
         tframe.textRange.fillColor = white;
    
    }
    
    function sortByValue (a,b)
    {
         a = Number(a[1]);
         b = Number(b[1]);
         return (a == b) ? 0 : (a < b ? 1 : -1);
    }
    
  • Replace step Fail State causes the sequence fail LW/CVI custom Code generator

    Hello

    I have a Code CVI generator as part of the Toolbox ATML importer.  OR kindly gave me an example of how to change the Type of step as part of the custom Code Generator DLL and that works very well.

    However, if I try to change the step Fail value causes the sequence fail to VTRUE it seems do not set the value when the sequence is examined on a test bench.

    The code I use is:

    TS_StepChangeStepType (stepHandle, & errorInfo, typeDefinition);

    -where typeDefinition can be modified to change the type of step, it works and I can change the type of step if necessary.

    TS_StepSetStepFailCausesSequenceFail (stepHandle, & errorInfo, VTRUE);

    -who does not, the box is always set to VFALSE.

    Is there something that I am missing?

    Thank you very much

    Steve

    Steve-

    You must use the PropertyObject step to change the failure step Option. There should be a line of code the generator of custom Code that calls:

    Get the step as a PropertyObject in case it is necessary to change the properties of the General step
    tsErrChk (TS_StepAsPropertyObject (stepHandle, & errorInfo & stepObject));

    The stepObject is what you need to pass to the TS_StepSetStepFailCausesSequenceFail function as follows:

    Set the Option of failure of step-by-step

    tsErrChk (TS_StepSetStepFailCausesSequenceFail (stepObject & errorInfo, VTRUE));

    Please let us know if this happens to you to correct results.

    -Jeff

  • Customized for the RT FIFO device details

    Hello

    I have a few questions about the FIFO VeriStand in a custom device asyncrounous.

    I saw a post earlier where a - 1 to the function of reading of FIFO of RT for him to wait indefinitely for an item to enter the FIFO. This allows pseudo - synchronize the PCL with a device custom asyncrounous. I wonder if this causes the boundary wire custom sleep or it stay active and keep returning? Is it possible to change the polling to blocking?

    Another quick question, if I only want to write to the RT FIFO when the data has changed it will cause unforeseen problems? As the channels time or need to wake up or something? Certain conditions can only write channels once every 1000 iterations of the PCL and loop device custom.

    I know that I can not write the channels selected in a FIFO RT, but can I create multiple FIFOs in a custom device to actually do the same thing? I imagine then having the outputs 1, outputs etc 2 in VeriStand.

    Thank you

    B

    Hi B,

    If you look at the RT VI pilot generated from custom device model you will see exactly what is happening. If you set the time-out for the reading of FIFO-1 then the botton loop will be essentially suspended unless there are items to read in the FIFO. Meanwhile, the thread will always be active because the RT read that VI is querying data during the time specified in the timeout.  I don't think that there is a way to change the FIFO mode to blocking since the dismissal of the FIFO is spent Veristand engine to the RT VI driver.

    The PCL writes and reads data from and to asynchronous custom FIFO device at each step of the execution. In your custom device, you can configure to read and process data of the 1000th step. I don't see any problems with it.

    You can have a FIFO for input channels and a FIFO for the output channels. You can write to an output channel given by writing data in a function index element in the output array that is passed to the function RT FIFO Write.

  • awrrpti script - awr report fails

    Friends...

    OS: Linux

    DB: 11 GR 2

    I'm trying to solve this riddle, supposed to be a simple fix but not able to finish it...

    We run awrrpti script to generate AWR report for the whole day. What I do is ask DBA_HIST_SNAPSHOT and get the snapshot min (first) and max (last) of the day. Then I fed that range from snap_id to awrrpti script to generate AWR report all day to single instance.

    It works perfectly well, but if instance gets restarted during the day then my approach above does not work and AWR report generation fails.

    Current approach:

    1. the DBA_HIST_SNAPSHOT query

    2. download MIN (snap_id), MAX (snap_id) for the day

    3. power #2 to awrrpti via bind variable

    4 generate the unique HTML report for the instance

    Query used to collect the id of component software snap-in min/max:

    Select min (snap_id), max (snap_id)

    Of

    (select snap_id, begin_interval_time, end_interval_time

    of dba_hist_snapshot

    where begin_interval_time > = trunc(sysdate-1)

    and being_intreval_time < = trunc(sysdate-1+23/24)

    );

    Tips to avoid failures of AWR report generation if instance gets restarted?

    How to go to the entry below in simple sql? It is possible to start «WITH max_startup...» "in the sql script?

    Yes, there is no problem. Is it just another way to write the query

    But you can use this one instead:

    SELECT MIN(dhs.snap_id) min_snap_id, MAX(dhs.snap_id) max_snap_id
    FROM DBA_HIST_SNAPSHOT dhs,
    (SELECT MAX(startup_time) max_startup_time FROM DBA_HIST_SNAPSHOT) mst
    where dhs.startup_time = mst.max_startup_time
    and begin_interval_time >= trunc(SYSDATE-1)
    and begin_interval_time <= trunc(sysdate-1+23/24)
    ;
    

    again will try, test and update this blog

    Forum! Please, I beg you.

    Concerning

    Juan M

  • AWR report cannot locate the bad SQLs

    DB version: 11.2.0.2
    Platform: Solaris 10

    In our data base RAC 2 nodes, we have patterns of 20 applications. When an application is faced with performance problems, we try to generate AWR for the period in question. But the stats (like bad SQLs) for this scheme to be buried because there is another application SQLs performing even worse.

    I know that we cannot create AWR report for specific patterns. But I wonder how his stats are collected in a multi-schema RAC environments that will differentiate between applications.

    But the stats (like bad SQLs) for this scheme to be buried because there is another application SQLs performing even worse.

    Since all applications run in a database and query of the other application run bad then they will be the first candidate of tunning since these are taking more resources and impact on other application requests.
    You can also generate report of ASH for module specific or customer with assistance from under the option set in report of ash.

    set target_module_name = ";
    set target_action_name = ";
    set target_client_id = ";

  • Generator of newspapers to InDesign: IDML or InDesign Server?

    Hello!

    I create a lib to generate the log to the IDML/InDesign format.

    This library already outputs the log using PDFLib, giving control us all (in points) about what is to be drawn.

    In our version IDML search engine, we face with TextFrame and stories, but I don't have the same control as PDFLib.

    I don't know if my story fits into the TextFrame, I don't know if I need to resize or create a new TextFrame bound for printing to keep the same story in the next column.

    Because the final library will be used on a server, I need I use InDesign Server to generate?

    I can self-adjustment executives related, jumping to the new column to keep printing, (etc.)?

    Or this control is possible by simply using pure IDML?

    Thank you

    You can find the InDesign scripting docs at http://www.adobe.com/products/indesign/extend.displayTab2.html#Scriptingresources (to http://www.adobe.com/devnet/indesign/documentation.html#idscripting but which also omits the common things to the rest of the creative suite) and Jongware has some excellent references additional APIs extracted InDesign to http://jongware.com/idjshelp.html. If you read the SDK documentation, you will find them quite a breath of fresh air; they are targeted at end users learn to write scripts, not to C++ developers, and they are much more pleasant to taste.

    Theoretically, you can store anything you want within an IDML file. But normally, no.. An InDesign script can be written in JavaScript for platform independence towards, or in VBScript on Windows and Applescript under OS X. in general, they are stored in the filesystem in a Scripts / folder and InDesign makes available in the actions panel this folder and the user chooses a script of this Panel while InDesign is running and then InDesign will run the script. There is also a Startup Scripts folder, which may contain scripts that are executed at startup of InDesign. There is no possibility for a document (IDML or INDD or otherwise) for the exploitation of a script that runs when the document is opened (this has implications of poor security...), if a script existing that is running (start or not) can listen to an event triggered by opening a document and can act accordingly. Or an existing script cannot open a document. Some people use a paradigm where scripts run from script code that lives inside a document, as in a specially designated textframe or a script label. But this is not common.

    So you could certainly put most of your script in an IDML file and have a charger small script that the user runs that evaluates the script that you have included in the IDML file. Or more of similar models.

    If you have the file BCTI by history, you can ask (although scripting) the InDesign API to place each story on your network, and can react adaptable engine decisions makes the layout and based on these results, decide how to place the following story. If you include all of your stories within the main IDML file, I think that will be dealing with the unexpected difficulties. I think that InDesign expects stories inside a file IDML to appear in the linked text frames. But I could be wrong on this subject... I don't have much experience with the help of IDML the way you think about it. Most of my experience IDML is about IDML reading that ID has generated, not generating IDML customized for her. (Certainly, you can have stories placed in frames of related texts that do not account for the length of history, for purposes of placeholding - such as frames are in excess. And then you can adjust them later. I suspect nail down who will use is not very important for the development of your software. It could make a big difference in ease of use or its packaging later, but not really in the implementation.)

    You can associate arbitrary key/value pairs with objects in the DOM script, using the methods . insertLabel() and . extractLabel() . These appear as the elements in the IDML. Alternatively, you can store XML data in the IDML file as if you had imported XML into your InDesign document and then analyze that however you like. You can also simply read an XML raw with your script file and do what you want with it. So, Yes, you can store extra metadata in a variety of forms ranging from reasonably structured with the ID of object model for completely outside of it.

    You should certainly be able to have inline (anchored?) with a history of ICML tables, and I'm not really sure of graphics. You'll have to see! I see a lot of experience in your future. On the other hand, maybe someone else who is quite knowledgeable about IDML will appear in this thread...

  • Custom authentication tokens

    "Adobe Flash Access Overview on protected streaming" white paper States the following:

    Flash Access supports the business logic of the licensing stage decoupling based on the chips in use with Flash Media Server deployments. For example, when users visit a web portal for rental or to subscribe to the content, they may need to authenticate by providing a user ID and password to confirm their registration. They might also need a financial transaction. The web portal enters the results of these operations in an authentication token that is sent to the client application. The customer can then include the token in the licence application. The license server checks the authenticity of the token before issuance of the licence. Check token is stateless and was completed independently by each server without reference to a database or another shared state. Token is based on a secret or public key shared infrastructure (PKI).

    This raises the following questions:

    • How the web portal must generate the token?  This is a serialized AuthenicationToken or some other binary token?
    • If it's an AuthenicationToken, then how the web portal must generate a token such as this feature is part of the license server?
    • How the chips are based on a shared secret or PKI? What is incorporated into the class AuthenticationToken ?

    As I read, the paragraph refers to the regime "of custom authentication", not the authentication scheme name of user/password supported and as such, it is not to use serialized Flash Access AuthenticationTokens.  What is meant by "custom authentication" is quite honestly, not very clear in the documentation. I believe that the following scenerios should work, if I would be interested in your comments from anyone:

    In the first scenario, the "portal" should generate a custom binary token and pass this token to the client flash in response. How the token is passed is an exercise left to the reader. It could be loaded via a cookie, JavaScript or ActionScript. It doesn't really matter. Nevertheless, the token is eventually read by the Flash client and applied using the DRMManager.setAuthenticationToken (...) method. The license server must then retrieve the token by using RequestMessageBase.getRawAuthenticationToken (...).  In this case, the token format is completely defined by the developer or provider. The flash never access client issues a query for the authentication License Server Manager (/flashaccess/authentication/v1 / *).

    A second case, which I am not sure would work, would be the flash client requests a token for authorization as usual, using DRMManager.authenticate (...), but the license server authentication requests handler returns a token custom instead of a serialized AuthenticationToken. The workflow would then proceed as described in the first case.

    A third case, the Flash client is able to authenticate with the name of user and password standard schema, but the license server may ignore the username/password real name (data can be same passwords and usernames dummy). The license server would generate an AuthenticationToken, but would benefit from ApplicationProperies to store its information "custom token. The token would be then sent back to the customer and in turn transmitted to the same license server. The license server then inspect AuthenticationToken.getCustomProperties to determine the appropriate course of action.

    No matter what scenario is used, I have a few concerns with custom authentication tokens:

    First of all, this forum has several questions about custom authentication tokens. The documentation is not clear on what is intended and how exactly these tokens must be produced, transferred and consumed. It would be very useful for Adobe to provide an example with its reference implementation code.

    Second, as developers of server Flash Access License remain to design their own authentication scheme customized, there is a real concern that the invented approach can be precarious, allowing re-use of authentication tokens. A published set of best practices would help to ensure custom tokens are generated in a way that does not leak the information, allow attacks by replay or session hijacking.

    Finally, there seems to be some confusion about the use of tokens for authentication and authorization. The reference implementation clearly only use them for authentication, as the RefImplLicenseReqHandler makes additional checks the database for the authenticated user is allowed (subscriber) to access the content.  However, the paragraph quoted above suggests using these tokens for authentication and authorization. At least, that's what I understand by the notion that "audit token is stateless and was completed independently by each server without referring to a database or other shared state. I don't see how that's possible, unless the token contains authentication and authorization information. I'm wrong?

    I appreciate the thoughts of someone else on the custom authentication tokens. Thank you.

    -Aaron J

    The workflow for "custom authentication" is exactly what you described in your first scenario.  Namely, the client application gets a token through certain channels and calls DRMManager.setAuthenticationToken (...) to provide the token. When the client requests a license from the license server, this token is included in the request. The server application calls RequestMessageBase.getRawAuthenticationToken (...) for the access token and perform any validation is required for this type of token before issuing the permit. With a custom authentication, the SDK AuthenticationToken class is not used - this class is only used to represent the authentication tokens issued by using the name of user and password Flash Access authentication scheme.  A custom authentication token can be binary data - the Flash Access SDK is not involved in the generation or to consume these chips - it's your server implementation to manage the following steps.

    The motivation behind the 'custom authentication' scheme is not to force content providers to invent a new way to authenticate users, but to allow you to take advantage of all infrastructure you already have in place.  For example, if you are already running the SAML tokens to authenticated users, you can continue to do so, and you would just plug the SAML validation code in your license server. As a general rule, an authentication token is signed to prevent tampering. It would be possible to generate a signature using a symmetric key or with a private key. Then, checking on the server would involve checking the signature, either by using the same shared symmetric key or with the public key corresponding to the private key. (This is what is meant by 'token is based on a secret or public key shared infrastructure (PKI) ")

    Although the API reference to "authentication tokens", it would also be possible to take advantage of this authorization mechanism. For example, if you have a web portal to access the information on which a user is allowed to access the content, the Portal could issue an authorization token that says that the user X is allowed to play the content Y and Z. When the license server receives this token in a license application for content, simply, check the token is still valid and that the token States it is allowed to grant access to the content Y. This workflow, the license server doesn't have access to the database that contains authorization information, making it easier to deploy the server in a highly scalable way.

    Is this address your questions and concerns?

Maybe you are looking for