ADF View Objects and Recording changes for Auditing Purposes

Hello,
I am a new to the JDeveloper paradigm and currently working on a J2EE web pilot project. I was wondering if I could get some some ideas on how I could implement auditing in an application. Basically when a user modifies some entries on the screen, I would like to make a note of what the record was like before commiting to the database. An administrator could then see, what changes the record has been through over a period of time.
I was thinking of using XMLTypes with the database. Does Jdeveloper handle oracle XMLType fields, or would I be looking at something along the lines of a CLOB? At this point, I would rather not implement this functionality using database triggers. Any alternate suggestions would be appreciated.
Regards
Anora April…
Jdeveloper 10.1.2 (1811)
Oracle DB 10g 10.1.2

Hi,
I am also interested in a best-practice note from oracle.
Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
Thanks

Similar Messages

  • How to lookup percentile table and Records table For Dashboard purpose?

    Hi Folks,
    I have Created one USP_Storedprocedure : whic is create table 1 results, I have another stored procedure
    which has N no of columns. But For the dashboard purpose I want 2 columns only (whic are 
    table 2 sample Results, that table held N no of rows that will vary every month ) 
    my Requirement is i wnat to look up boath tables using T-Sql or any other. I neeed to find % of each  person value:
    i am excepingting this code for second table person %
    Select PersonID,((Value * 100)/(Select MAX(values)
    From XX Table) From XX Table
    ?? how can I lookup boath tables can you please advise me thanks in advance

    Hi Cherkuri
    What I understand from your statement, you want to get the percentile no in table 1 for each record in table 2.
    Below is my proposed solution and its output:
    DECLARE @Table1 AS TABLE
    PercentileNo INT,
    Per1 INT,
    Per2 INT
    DECLARE @Table2 AS TABLE
    Person_ID VARCHAR(50),
    Value INT
    INSERT INTO @Table1
    SELECT 1, 1, 10
    UNION SELECT 2, 11, 20
    UNION SELECT 3, 21, 30
    UNION SELECT 4, 31, 40
    UNION SELECT 5, 41, 50
    UNION SELECT 6, 51, 60
    UNION SELECT 7, 61, 70
    UNION SELECT 8, 71, 80
    UNION SELECT 9, 81, 90
    UNION SELECT 10, 91, 100
    INSERT INTO @Table2
    SELECT 'person1',12
    UNION SELECT 'person1',11
    UNION SELECT 'person2',5
    UNION SELECT 'person3',18
    UNION SELECT 'person3',16
    SELECT * FROM @Table1 t
    INNER JOIN @Table2 t2 ON 1=1
    WHERE t2.Value BETWEEN t.Per1 AND t.Per2
    Below is the output:

  • ADF panel does not prompt for variable defined in ADF view object.

    I have created an ADF Panel, which allows the user to run a few simple queries against an Oracle database done using ADF view objects and ADF view links and ADF application module.
    One of these queries lookup detail information about a given database object (Table, view or whatever) from dba_objects. The SQL uses a parameter (:P_OBJ_NAME) that has a default value of “Departments”. If I run the ADF application module by itself outside of the ADF panel, all works fine, it prompts me to provide a value for the parameter :P_OBJ_NAME.
    As I said the panel contains the different ADF view links including the one that should prompt the user to provide a value for :P_OBJ_NAME. When I run the panel it does not prompt me for :P_OBJ_NAME, it just uses the default defined value “departments”.
    I hope I described my problem for every one to understand. The question obviously is how do I get the ADF panel to prompt the user to provide a value for parameter :P_OBJ_NAME, my expectation was that since the sql in the view object and the application module both are designed to prompt for a value for this parameter then the panel should do just that but it does not.
    You expert input would be most appreciated.
    Thanks.
    Bobby A.
    Edited by: Babak Akbari on Aug 13, 2009 8:34 AM
    Edited by: Babak Akbari on Aug 13, 2009 11:12 AM

    The prompting for a parameter is a feature we built into the ADF Tester - it is not a default behavior you get in your application when you just place a VO on your page.
    To get something like this expend the operations node under the VO in the data control palette, and drag the "Execute with parameters" operation to your page to drop it as a parameter form.
    This will provide your user a place to fill out the parameter and press a button to execute the query.

  • Can Designer generate ADF Entity Objects, View Objects and Apps Module ?

    Hi all,
    On what way can Designer integrate with JDeveloper (+ ADF) ?
    Can Designer generate ADF Entity Objects, View Objects and Apps Module ?
    Thank you for your help,
    xtanto

    Designer itself has no direct integration with JDeveloper. However, there are three options. First of all, you can get a JDeveloper extension (download this separately) that lets you create a Connection to a Designer repository. From that Connection you can find modules that you defined in Designer and generate Entity and View objects for the tables and columns that you used in those modules, and an Application Module. It does not create JSPs or other user interface objects.
    Another option is to buy JHeadstart from Oracle. This contains a set of code generators and ADF extensions that include an ability to get information from a Designer repository. JHeadstart works fine for non-Designer users too, but was built by the same people who wrote Designer Headstart - they know the repository API intimately.
    The third option is to download Oracle Designer Extension Builder (ODEB) which was just recently made available. This is a product of a collaboration between Designer users from the Oracle Development Tools Users Group (ODTUG) and Oracle to extend the capabilities of Designer with user written tools and utilities. You could use ODEB to write your own generators for ADF Business Components. Or you could wait and see if someone else in the user community does this. I hope that you or whoever does such a generator will be willing to share it with us all.

  • How To change the ADF View Object  query where-clause at RunTime?

    I am trying to create a simple display page which will display user data (username, assoc_dist_id, assoc_agent_id, status , etc). The User data is stored in a database table and i am using an ADF Read Only table based on the View Object to display the data on the JSF page.
    However, i want to display only the users that a particular person accessing the page has the AUTH LEVEL to see. e.g. If the person accessing the page is an 'ApplicationAdministrator' then the page should display all users in the table, If its a 'DistributorAdministrator' then the page should display only users associated with that Distributor (i.e. assoc_dist_id = :p_Dist_id ) and If its an 'AgentAdministrator' , then the page should display only users associated with that Agent ( i.e. assoc_agent_id = :p_Agent_id).
    Currently my af:table component displays all the users in the table because the query for the view object is (select * from users) . However, i want to use the same viewobject and just set the where-clause at runtime with the appropriate parameter to restrict the dataset returned.
    Do anyone knows how to accomplish this ?

    David,
    See the custom method initializeDynamicVariableDefaults() in the SRViewObjectImpl.java class in the FrameworkExtentions project in the SRDemoSampleADFBC sample application. You can find out how to install the demo if you haven't already from the ADF Learning Center at:
    http://www.oracle.com/technology/products/adf/learnadf.html
    This class is a framework extension class for view objects that adds a neat, generic feature to be able to dynamic default the value of named bind variables. You can read more about what framework extension classes are and how to use them in Chapter 25, "Advanced Business Components Techniques" of the ADF Developer's Guide for Forms/4GL Developers, also available at the learning center above.
    It is an example of generic framework functionality that "kicks in" based on the presence of custom metadata properties on a named bind variable. See section 25.3.3 "Implementing Generic Functionality Driven by Custom Properties" in the dev guide for more details. Using this sample code, if you add a bind variable to a view object, and define a custom metadata property named "DynamicDefaultValue" on that bind variable, and set this custom metadata property to the value "CurrentUser", then that bind variable will have its value dynamically defaulted to the name of the authenticated user logged in. If instead you set this custom property to the value "UserRole", then the bind variable will be set to the comma-separated string containing the list of roles that the authenticated user is part of.
    Once you've created a framework extension class for view objects like this, you can have the view objects you create inherit this generic functionality.See section 25.1.4 "How to Base an ADF Component on a Framework Extension Class" in the dev guide for more info on this.
    By adapting a technique like this (or some idea similar that better suits your needs) you can have your view object query contain bind variables whose values automatically take on the defaults based on something in the user-session environment.

  • ADF - View Objects

    Hi All,
    We are working on building a web application using on ADF.
    The landing page of our application is a dashboard screen that is read-only with 100 to 500 records displayed in a table.
    User can move to other pages and create requests.
    1) When user is on dashboard and moves to other pages of the application, is there a way to release the memory used by view objects and underlying entity objects used by the views used to display the dashboard? Another point here is, our application requirement is to refresh the data from database when user moves between screens. Even if user switches back to dashboard screen after moving to other screen the data needs to be queried anyway. So for better memory management of the application we would like to release the memory for GC when user leaves our dashboard screens.
    Another question I have is:
    2) When a application module passivation occurs, will there be a snapshot taken for all view rows and entity caches or will it be only for pending DB state - entities added/modified/deleted? - We have lot of cases in our application where we display read-only dashboards and I am trying to understand if we can turnoff the passivation on view objects used to display read-only data if passivation deals with only pending DB state.
    Please suggest.

    Hi,
    1) When user is on dashboard and moves to other pages of the application, is there a way to release the memory used by view objects and underlying entity objects used by the views used to display the dashboard? Another point here is, our application requirement is to refresh the data from database when user moves between screens. Even if user switches back to dashboard screen after moving to other screen the data needs to be queried anyway. So for better memory management of the application we would like to release the memory for GC when user leaves our dashboard screens.
    Note that premature optimization can be contra-productive and often is the root of all evil. In other words, as long as you don't experience performance problems, I would let the framework do its job - so be careful wanting too much without a reason. Anyway, to clear the entity cache (and this is the only memory you need to bother for) you can call  <ApplicationModuleInstance>.getTransaction().clearEntityCache(String entityName);
    clearEntityCache
    public void clearEntityCache(java.lang.String entityName)
    Clears the cache of the specified Entity Object. A value of null clears the caches of all Entities. If a View Object uses the Entity Object, the View Object's cache will be cleared as well.
    Parameters:
    entityName - the name of the entity whose cache is to be cleared. If null, caches for all entities are cleared.
    Another question I have is:
    2) When a application module passivation occurs, will there be a snapshot taken for all view rows and entity caches or will it be only for pending DB state - entities added/modified/deleted? - We have lot of cases in our application where we display read-only dashboards and I am trying to understand if we can turnoff the passivation on view objects used to display read-only data if passivation deals with only pending DB state.
    Passivation is for pending changes only and not for all queried data. You define passivation on the AM level and you can switch it off there. In this case I suggest you use an Application Module that speacifically holds the dashboard queries.
    Since performance is your concern I recommend you reading:
    Advanced View Object Techniques - 11g Release 1 (11.1.1.7.0)
    Tuning Application Module Pools and Connection Pools - 11g Release 1 (11.1.1.7.0)
    Frank

  • Iterating through master view objects and child view objects in same page

    I am working on a project using ADF UIX and Business Components.
    I have an application module with two view objects one the master view object and the second the detail object. They are related via a view link.
    I would like to iterate through the master view objects displaying a customer name as bold text and then below each customer name I'd like to display the detail records in a table via the detail view object i.e. a seprate table for each customer.
    Is this possible - I haven't had much luck!?
    Thanks in advance.

    That's because
    $(".ms-vb2 a").
    is bringing back all the pieces that have that class with an anchor on the whole page, not just the ones in the .ms-wpContentDivSpace
    I don't know the exact syntax, but I think you need to iterate through all the '.ms_vb2 a' items as well - there are multiple ones, and do something like this inside your other grouping
    $(".ms-vb2 a").each(function(index) {
        var val=$(this).html();
       var val2=val.replace(/_/g," ")
       $(this).html(val2);
    That's not quite right but maybe that will help.
    Robin

  • Using ADF View object create method in Data Action

    I need to know how to create a new row in an application module method and get the attributes from the ADF input form.
    If i Drag drop the create method in the data action form it is working fine. But how to do this programmatically, I have a need where i need to execute a query on another view object and set the create method.
    Thanks.

    Steven:
    (My application does not need to show all records and provide Edit/ Remove buttons at row level, navgational buttons and Create button for inserting new record. Instead, I would just open a blank record for entry, and commit)
    As per your post, I followed the following steps (action class) to insert blank record:
    DCBindingContainer bindings = actionContext.getBindingContainer();
    DCControlBinding binding = bindings.findCtrlBinding("Id");
    Row row = binding.getRowIterator().createRow();
    row.setNewRowState(row.STATUS_INITIALIZED);
    RowSetIterator rs =(RowSetIterator)
    binding.getRowIterator();
    rs.insertRow(row);
    End Results: It works fine and a new blank record is created. The only problem is <html:errors/> in JSP throws error for the first time. I do not want to elliminate error object from JSP.
    Please help!
    Thanks in advance

  • Maintaining data of view objects in cache memory for repeated usage

    Hi,
         We are developing an application which is having around 800 viewobjects that will be used as LOV in different screens. Therefore, it is decided to create a separate project for all such LOV view objects and keep the same in shared scope so that the data can be made availabe across the application.
         The application also communicates with different database schemas based on the logged-in county. For a particular user, LOV view object LovView1 should get the data fetched from Schema1 whereas for user2, the same LovView1 should get the data from Schema2.
         For this, we have created n number of ApplicationModules like AM1, AM2 etc in the project each one being connected to different database. A base application module also has been created and all the county specific AMs extend this base AM. Also all the LOV view object instances are included in this base AM so that they will be available in the county specific AMs also.The entire project is made as an ADF Library jar and this base AM is utilized by other projects for mapping the LOV by attaching the library.
         At runtime, whenever a particular viewobject is accessed, the findViewObject() method of the baseAM has been overridden and the logic is built in such a way to get the logged in user's county code from a session variable and based on the county, the corresponding AM is communicated with and the view object is returned.
         The view objects of the LOV project is used as LOV as well as for doing some other backend processes. In such cases, the view object is obtained and necessary filter conditions are appended to the view criteria and is executed to get the filtered rowset.
    Now, my questions are,
    1. Is it enough to create the jar for the LOVProject and access the view objects from the same baseAM across the application?
    2. I wish to keep all the data in cache memory to avoid repeated DB hits for all the LOV view objects. How it can be achieved? To be more precise, consider two users user1 and user2 logging into the application with different county. When user1 access a LOV viewobject for the first time, data needs to be fetched from the DB, kept in application scoped cache memory and return the rowset. On subsequent calls to the viewobject, the data needs to be retreived from the cache and not from the DB. When user2 also access the same LOV viewobject, the same logic as explained for user1 should happen. How can I achieve this? Actually my doubt is when user2 access, will the data pertaining to user1 remains available in cache? If not, how to make it retain the data in cache?
    3. I also wish to append a particular where condition to a viewobject irrespective of other considerations like logged in county, existing view criteria etc.. How can I do this? A separate thread for this requirement has been posted in the forum Including additional where clause conditions to view criteria dynamically
    Kindly give me your suggessions.
    Thanks in advance.
    Regards.

    Hi Vijay,
    regarding your questions:
    1. What is the difference between "TimesTen In-Memory Database" and
    "In-Memory Database Cache" in terms of features and licensing model?
    ==> Product has just been renamed and integrated better with the Oracle database - Times-Ten == In-Memory-Cache-Database
    2. Is "In-Memory Database Cache" option integrated with Oracle 10g
    installable or a separate installable (i.e. TimesTen installable with only
    cache feature)?
    ==> Seperate Installation
    3. Is "In-Memory Database Cache" option same as that of "TimesTen Cache
    Connect to Oracle" option in TimesTen In-Memory Database?
    ==> Please have a look here: http://www.oracle.com/technology/products/timesten/quickstart/cc_qs_index.html
    This explains the differences.
    4. After integrating "In-Memory Database Cache" option with Oracle 10g, data
    access will happen only through Oracle sqlplus or OCI calls. Am I right here
    in making this statement?
    ==> Please see above mentioned papers
    5. Is it possible to cache the result set of a join query in "In-Memory
    Database Cache"?
    ==> Again ... ;-)
    Kind regards
    Mike

  • How to create dynamic View Object and Dynamic Table

    Dear ll
    I want to create a dynamic view object and display the output in a dynamic table on the page.
    I am using Jdeveloper 12c "Studio Edition Version 12.1.2.0.0"
    This what I did:
    1- I created a read only view object with this query "Select sysdate from dual"
    2- I added this View object to the application module
    3- I created a new method that change the query of this View object at runtime
        public void changeVoQuery(String dbViewName) {
            String sqlstm = "Select * From " + dbViewName;
            ViewObject dynamicVo = this.findViewObject("DynamicVo");
            if (dynamicVo != null) {
                dynamicVo.remove();
            dynamicVo = this.createViewObjectFromQueryStmt("DynamicVo", sqlstm);
            dynamicVo.executeQuery();
    4- I run the application module for testing the method and I passed "Scott.Emp" as a parameter and the result was Success
    5- Now I want to show the result of the view on the page, so I draged and dropped the method from the data control as a parameter form
    6- I dragged and dropped the view Object "DynamicVo" as a table and I choose "generate Column Dynamically at runtime". This is the page source
    <af:panelHeader text="#{viewcontrollerBundle.SELECT_DOCUMTN_TYPE}" id="ph1">
            <af:panelFormLayout id="pfl1">
                <af:inputText value="#{bindings.dbViewName.inputValue}" label="#{bindings.dbViewName.hints.label}"
                              required="#{bindings.dbViewName.hints.mandatory}"
                              columns="#{bindings.dbViewName.hints.displayWidth}"
                              maximumLength="#{bindings.dbViewName.hints.precision}"
                              shortDesc="#{bindings.dbViewName.hints.tooltip}" id="it1">
                    <f:validator binding="#{bindings.dbViewName.validator}"/>
                </af:inputText>
                <af:button actionListener="#{bindings.changeVoQuery.execute}" text="changeVoQuery"
                           disabled="#{!bindings.changeVoQuery.enabled}" id="b1"/>
            </af:panelFormLayout>
        </af:panelHeader>
        <af:table value="#{bindings.DynamicVo.collectionModel}" var="row" rows="#{bindings.DynamicVo.rangeSize}"
                  emptyText="#{bindings.DynamicVo.viewable ? 'No data to display.' : 'Access Denied.'}"
                  rowBandingInterval="0" selectedRowKeys="#{bindings.DynamicVo.collectionModel.selectedRow}"
                  selectionListener="#{bindings.DynamicVo.collectionModel.makeCurrent}" rowSelection="single"
                  fetchSize="#{bindings.DynamicVo.rangeSize}" filterModel="#{bindings.DynamicVoQuery.queryDescriptor}"
                  queryListener="#{bindings.DynamicVoQuery.processQuery}" filterVisible="true" varStatus="vs" id="t1"
                  partialTriggers="::b1">
            <af:iterator id="i1" value="#{bindings.DynamicVo.attributesModel.attributes}" var="column">
                <af:column headerText="#{column.label}" sortProperty="#{column.name}" sortable="true" filterable="true"
                           id="c1">
                    <af:dynamicComponent id="d1" attributeModel="#{column}"
                                         value="#{row.bindings[column.name].inputValue}"/>
                </af:column>
            </af:iterator>
        </af:table>
    when I run the page this error is occured
    <Nov 13, 2013 2:51:58 PM AST> <Error> <oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter> <BEA-000000> <ADF_FACES-60096:Server Exception during PPR, #1
    javax.el.ELException: java.lang.NullPointerException
    Caused By: java.lang.NullPointerException
    Can any body help me please
    thanks

    Have you seen Shay's video https://blogs.oracle.com/shay/entry/adf_faces_dynamic_tags_-_for_a
    All you have to do is to use the dynamic table to get your result.
    Timo

  • How to get text name text object and text id for long text

    Hi,
    I am trying to fetch Long text for a given order number from transaction CO04 in SAPScript. I know that I have to use Include X (OBJECT) XX ID XXX.
    How do I get the text name, text object and text id for the order header long text from Transaction CO04.
    Points will be awarded..
    Tushar

    Tushar,
    When you are in CO02, and are at the Long Text Tab,click on the Icon that is next to the Order Number at the top of the screen (this icon looks like a Pencil and a Pad of Paper and is called "Change Long Text"). When you click on this it will take you to the SAPscript Editor. Now hit Goto->Header and you will get the data you require.
    Hope this helps.
    Cheers,
    Pat.
    PS. Kindly award Reward Points as appropriate.

  • [svn:osmf:] 17162: config file and relevant changes for flex sdk3 to flex sdk 4 migration

    Revision: 17162
    Revision: 17162
    Author:   [email protected]
    Date:     2010-08-02 18:31:23 -0700 (Mon, 02 Aug 2010)
    Log Message:
    config file and relevant changes for flex sdk3 to flex sdk 4 migration
    Modified Paths:
        osmf/trunk/apps/certification/zeri/FlexUnit4UIListener/src/org/flexunit/flexui/data/TestR unnerBasePresentationModel.as
        osmf/trunk/apps/samples/framework/DynamicStreamingSample/DynamicStreamingSample-build-con fig.xml
        osmf/trunk/apps/samples/framework/ExamplePlayer/ExamplePlayer-build-config.xml
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/view/MainWindowLayout.mxml
        osmf/trunk/apps/samples/framework/MediaContainerSample/MediaContainerSample-build-config. xml
        osmf/trunk/apps/samples/framework/MediaContainerUIComponent/MediaContainerUIComponent-bui ld-config.xml
        osmf/trunk/apps/samples/framework/NestedMediaContainersSample/NestedMediaCOntainersSample -build-config.xml
        osmf/trunk/apps/samples/framework/OSMFPlayer/OSMFPlayer-build-config.xml
        osmf/trunk/apps/samples/plugins/AkamaiPluginSample/AkamaiPluginSample-build-config.xml
        osmf/trunk/framework/OSMF/osmf-build-config.flex
        osmf/trunk/framework/OSMF/osmf-build-config.xml
        osmf/trunk/framework/OSMFAIRTest/OSMFAIRTest-build-config.xml
        osmf/trunk/framework/OSMFIntegrationTest/osmfintegrationtest-build-config.xml
        osmf/trunk/framework/OSMFTest/OSMFTest.mxml
        osmf/trunk/framework/OSMFTest/osmftest-build-config.flex
        osmf/trunk/framework/OSMFTest/osmftest-build-config.xml
        osmf/trunk/libs/samples/ChromeLibrary/ChromeLibrary-build-config.xml
        osmf/trunk/libs/samples/Syndication/syndication-build-config.flex
        osmf/trunk/libs/samples/Syndication/syndication-build-config.xml
        osmf/trunk/libs/samples/VAST/vast-build-config.flex
        osmf/trunk/libs/samples/VAST/vast-build-config.xml
        osmf/trunk/libs/testing/NetMocker/netmocker-build-config.xml
        osmf/trunk/libs/testing/StrobeUnit/strobeunit-build-config.xml
        osmf/trunk/plugins/samples/SMILPlugin/SMILPlugin-build-config.xml
    Added Paths:
        osmf/trunk/apps/certification/zeri/FlexUnit4/flexunit4-build-config-10-1.xml
        osmf/trunk/apps/certification/zeri/FlexUnit4UIListener/flexunit4uilistener-build-config-1 0-1.xml
        osmf/trunk/apps/certification/zeri/ZeriCertificationPlayer/zericertificationplayer-build- config-10-1.xml
        osmf/trunk/apps/certification/zeri/ZeriCertificationTest/zericertificationtest-build-conf ig-10-1.xml
        osmf/trunk/apps/certification/zeri/ZeriCertificationUtils/zeri-certification-utils-build- config-10-1.xml
        osmf/trunk/apps/samples/framework/MediaContainerUIComponent/MediaContainerUIComponent-bui ld-config-10-1.xml
        osmf/trunk/framework/OSMF/osmf-build-config-10-1.xml

    Revision: 17162
    Revision: 17162
    Author:   [email protected]
    Date:     2010-08-02 18:31:23 -0700 (Mon, 02 Aug 2010)
    Log Message:
    config file and relevant changes for flex sdk3 to flex sdk 4 migration
    Modified Paths:
        osmf/trunk/apps/certification/zeri/FlexUnit4UIListener/src/org/flexunit/flexui/data/TestR unnerBasePresentationModel.as
        osmf/trunk/apps/samples/framework/DynamicStreamingSample/DynamicStreamingSample-build-con fig.xml
        osmf/trunk/apps/samples/framework/ExamplePlayer/ExamplePlayer-build-config.xml
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/view/MainWindowLayout.mxml
        osmf/trunk/apps/samples/framework/MediaContainerSample/MediaContainerSample-build-config. xml
        osmf/trunk/apps/samples/framework/MediaContainerUIComponent/MediaContainerUIComponent-bui ld-config.xml
        osmf/trunk/apps/samples/framework/NestedMediaContainersSample/NestedMediaCOntainersSample -build-config.xml
        osmf/trunk/apps/samples/framework/OSMFPlayer/OSMFPlayer-build-config.xml
        osmf/trunk/apps/samples/plugins/AkamaiPluginSample/AkamaiPluginSample-build-config.xml
        osmf/trunk/framework/OSMF/osmf-build-config.flex
        osmf/trunk/framework/OSMF/osmf-build-config.xml
        osmf/trunk/framework/OSMFAIRTest/OSMFAIRTest-build-config.xml
        osmf/trunk/framework/OSMFIntegrationTest/osmfintegrationtest-build-config.xml
        osmf/trunk/framework/OSMFTest/OSMFTest.mxml
        osmf/trunk/framework/OSMFTest/osmftest-build-config.flex
        osmf/trunk/framework/OSMFTest/osmftest-build-config.xml
        osmf/trunk/libs/samples/ChromeLibrary/ChromeLibrary-build-config.xml
        osmf/trunk/libs/samples/Syndication/syndication-build-config.flex
        osmf/trunk/libs/samples/Syndication/syndication-build-config.xml
        osmf/trunk/libs/samples/VAST/vast-build-config.flex
        osmf/trunk/libs/samples/VAST/vast-build-config.xml
        osmf/trunk/libs/testing/NetMocker/netmocker-build-config.xml
        osmf/trunk/libs/testing/StrobeUnit/strobeunit-build-config.xml
        osmf/trunk/plugins/samples/SMILPlugin/SMILPlugin-build-config.xml
    Added Paths:
        osmf/trunk/apps/certification/zeri/FlexUnit4/flexunit4-build-config-10-1.xml
        osmf/trunk/apps/certification/zeri/FlexUnit4UIListener/flexunit4uilistener-build-config-1 0-1.xml
        osmf/trunk/apps/certification/zeri/ZeriCertificationPlayer/zericertificationplayer-build- config-10-1.xml
        osmf/trunk/apps/certification/zeri/ZeriCertificationTest/zericertificationtest-build-conf ig-10-1.xml
        osmf/trunk/apps/certification/zeri/ZeriCertificationUtils/zeri-certification-utils-build- config-10-1.xml
        osmf/trunk/apps/samples/framework/MediaContainerUIComponent/MediaContainerUIComponent-bui ld-config-10-1.xml
        osmf/trunk/framework/OSMF/osmf-build-config-10-1.xml

  • ADF View Object Capability

    Usually I use ADF View Object when I want to view data from table in Oracle DB.
    Now can View Object extract data from file? xml or csv format?
    Regards
    Erich

    Hi,
    no, ViewObjects work with queries against the database.
    Frank

  • PKI view , AIA and CDP locatiion for the RootCA has red crossover " unable to download"

    I am trying to create a PKI infrastructure on winserver2008R2 enterprise as follows
    offline ROOT CA---Standalone
    Online Intermediate CA -- enterprise
    PROBLEM: 
    on the intermediate CA: using enterprise PKI view , AIA and CDP locatiion for the RootCA has red crossover " unable to download"but enterprise pki view "manage AD container" indicated the AIA and CDP container 
    had OK for the root CA CDP and AIA.
    Any help will be appreciated
    INSTALLATION STEPS :
    i performed the ffg on offline RootCA
    create the CA policy policy file and store in windows folder
    install ADCS
    run post installation script
    The Certificate Service was successful and saw a green icon in the console
    I performed the ffg on  online enterprise CA
    create the CA policy policy file and store in windows folder
    install ADCS
    i successfully  published the root CA cert and CRL in the local store and AD. i saw the ffg message upon completion
    CertUtil: -addstore command completed successfully.
    CertUtil: -dsPublish command completed successfully.
    install ADCS
    below is the output for getreg ( CRL and AIA)
    C:\Users\Administrator.GORYEAL>certutil -getreg CA\CRLPublicationURLs
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\GINTC
    A\CRLPublicationURLs:
      CRLPublicationURLs REG_MULTI_SZ =
        0: 65:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl
        CSURL_SERVERPUBLISH -- 1
        CSURL_SERVERPUBLISHDELTA -- 40 (64)
        1: 79:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10
        CSURL_SERVERPUBLISH -- 1
        CSURL_ADDTOCERTCDP -- 2
        CSURL_ADDTOFRESHESTCRL -- 4
        CSURL_ADDTOCRLCDP -- 8
        CSURL_SERVERPUBLISHDELTA -- 40 (64)
        2: 0:http://%1/CertEnroll/%3%8%9.crl
        3: 0:file://%1/CertEnroll/%3%8%9.crl
        4: 65:file://\\www\Certdata\%3%8%9.crl
        CSURL_SERVERPUBLISH -- 1
        CSURL_SERVERPUBLISHDELTA -- 40 (64)
    CertUtil: -getreg command completed successfully.
    C:\Users\Administrator.GORYEAL>certutil -getreg CA\CACertPublicationURLs
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\GINTC
    A\CACertPublicationURLs:
      CACertPublicationURLs REG_MULTI_SZ =
        0: 1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt
        CSURL_SERVERPUBLISH -- 1
        1: 3:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11
        CSURL_SERVERPUBLISH -- 1
        CSURL_ADDTOCERTCDP -- 2
        2: 0:http://%1/CertEnroll/%1_%3%4.crt
        3: 0:file://%1/CertEnroll/%1_%3%4.crt
    CertUtil: -getreg command completed successfully.

    when i ran certutil -URL http://www.goryeal.com/CERTDATA/GROOTCA.crl 
     i saw a status message of OK
    when i paste the url(http://www.goryeal.com/CERTDATA/GROOTCA.crl) from pki view in the browser i got the message:
    404 - File or directory not found
    But when  i copy the url(http://www.goryeal.com/CERTDATA/) in the browser , i was able to see the root ca CRL :
     I revoked CA exchange cert and issue a new one but still no luck. Below is the verification for the ca exchange cert:
    certutil.exe -verify -urlfetch 
    c:\ca.cer
    Issuer:
        CN=GINTCA
        DC=goryeal
        DC=com
    Subject:
        CN=GINTCA-Xchg
        DC=goryeal
        DC=com
    Cert Serial Number: 61db778400000000000b
    dwFlags = CA_VERIFY_FLAGS_CONSOLE_TRACE (0x20000000)
    dwFlags = CA_VERIFY_FLAGS_DUMP_CHAIN (0x40000000)
    ChainFlags = CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT (0x40000000)
    HCCE_LOCAL_MACHINE
    CERT_CHAIN_POLICY_BASE
    -------- CERT_CHAIN_CONTEXT --------
    ChainContext.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
    ChainContext.dwRevocationFreshnessTime: 6 Days, 21 Hours, 50 Minutes, 11 Seconds
    SimpleChain.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
    SimpleChain.dwRevocationFreshnessTime: 6 Days, 21 Hours, 50 Minutes, 11 Seconds
    CertContext[0][0]: dwInfoStatus=102 dwErrorStatus=0
      Issuer: CN=GINTCA, DC=goryeal, DC=com
      NotBefore: 4/2/2014 5:00 PM
      NotAfter: 4/9/2014 5:10 PM
      Subject: CN=GINTCA-Xchg, DC=goryeal, DC=com
      Serial: 61db778400000000000b
      Template: CAExchange
      Template: CA Exchange
      5f c7 75 f7 e9 da 4b 96 ea 05 48 f2 2f 49 0d 96 b8 d0 f7 16
      Element.dwInfoStatus = CERT_TRUST_HAS_KEY_MATCH_ISSUER (0x2)
      Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
      ----------------  Certificate AIA 
      Verified "Certificate (0)" Time: 0
        [0.0] ldap:///CN=GINTCA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=goryeal,DC=com?cACertificate?base?objectClass=certificationAuthority
      ----------------  Certificate CDP 
      Verified "Base CRL (06)" Time: 0
        [0.0] ldap:///CN=GINTCA,CN=INTCA,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=goryeal,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint
      Verified "Delta CRL (06)" Time: 0
        [0.0.0] ldap:///CN=GINTCA,CN=INTCA,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=goryeal,DC=com?deltaRevocationList?base?objectClass=cRLDistributionPoint
      ----------------  Base CRL CDP 
      OK "Delta CRL (06)" Time: 0
        [0.0] ldap:///CN=GINTCA,CN=INTCA,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=goryeal,DC=com?deltaRevocationList?base?objectClass=cRLDistributionPoint
      ----------------  Certificate OCSP 
      No URLs "None" Time: 0
        CRL 06:
        Issuer: CN=GINTCA, DC=goryeal, DC=com
        bc c0 e1 8c e1 4c 18 34 5f 06 ca c1 f2 a0 3b 4d 58 9f 27 70
        Delta CRL 06:
        Issuer: CN=GINTCA, DC=goryeal, DC=com
        69 cf 42 09 59 48 3f 07 bf b7 8a 4c 01 a6 45 5f 13 87 da 1b
      Issuance[0] = 1.2.3.4.1455.67.89.5
      Application[0] = 1.3.6.1.4.1.311.21.5 Private Key Archival
    CertContext[0][1]: dwInfoStatus=102 dwErrorStatus=0
      Issuer: CN=GROOTCA
      NotBefore: 3/26/2014 8:01 PM
      NotAfter: 3/20/2019 8:38 PM
      Subject: CN=GINTCA, DC=goryeal, DC=com
      Serial: 1297cd88000000000004
      Template: SubCA
      a4 96 15 fd 62 c1 1c 86 db 21 15 a7 d4 b4 0e 16 8f 03 2c de
      Element.dwInfoStatus = CERT_TRUST_HAS_KEY_MATCH_ISSUER (0x2)
      Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
      ----------------  Certificate AIA 
      Verified "Certificate (0)" Time: 0
        [0.0] ldap:///CN=GROOTCA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=goryeal,DC=com?cACertificate?base?objectClass=certificationAuthority
      Verified "Certificate (0)" Time: 0
        [1.0] http://www.goryeal.com/Certdata/ROOTCA_GROOTCA.crt
      ----------------  Certificate CDP 
      Verified "Base CRL (06)" Time: 0
        [0.0] ldap:///CN=GROOTCA,CN=ROOTCA,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=goryeal,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint
      Failed "CDP" Time: 0
        Error retrieving URL: Error 0x80190194 (-2145844844)
        http://www.goryeal.com/Cerdata/GROOTCA.crl
      ----------------  Base CRL CDP 
      No URLs "None" Time: 0
      ----------------  Certificate OCSP 
      No URLs "None" Time: 0
        CRL 06:
        Issuer: CN=GROOTCA
        f7 3d fb a7 12 bf f1 b5 e9 35 b7 a1 2b 17 2a 28 29 36 c6 8a
      Issuance[0] = 1.2.3.4.1455.67.89.5
    CertContext[0][2]: dwInfoStatus=10c dwErrorStatus=0
      Issuer: CN=GROOTCA
      NotBefore: 3/20/2014 8:28 PM
      NotAfter: 3/20/2019 8:38 PM
      Subject: CN=GROOTCA
      Serial: 2157e0150f7e149e49295666612464ef
      b5 a8 4c e1 64 9d b0 aa c5 e4 b7 b0 4f 5e fe e3 99 aa 61 de
      Element.dwInfoStatus = CERT_TRUST_HAS_NAME_MATCH_ISSUER (0x4)
      Element.dwInfoStatus = CERT_TRUST_IS_SELF_SIGNED (0x8)
      Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
      ----------------  Certificate AIA 
      No URLs "None" Time: 0
      ----------------  Certificate CDP 
      No URLs "None" Time: 0
      ----------------  Certificate OCSP 
      No URLs "None" Time: 0
      Issuance[0] = 1.2.3.4.1455.67.89.5
    Exclude leaf cert:
      e8 5b f7 0b 59 b4 84 97 87 96 1b f1 39 9b 15 14 24 84 d0 77
    Full chain:
      ca 29 87 01 d8 6f e6 28 d7 16 a9 5c 81 74 d3 b8 1e c9 44 53
    Verified Issuance Policies:
        1.2.3.4.1455.67.89.5
    Verified Application Policies:
        1.3.6.1.4.1.311.21.5 Private Key Archival
    Leaf certificate revocation check passed
    CertUtil: -verify command completed successfully.

  • Generating Security Events for Auditing Purposes

    Hello! What I’m writing about today concerns generating events in the Security Log on Win2008 R2 for auditing purposes. Information on this specific action is fairly scare online, from what I’ve seen, after some extensive searching.
    If there were a utility that would facilitate this, that would be ideal, but I’m not seeing anything of that nature. I see that there are some APIs (e.g. AuthzReportSecurityEvent) that allow this sort of thing, but I’m not quite sure where to start with those.
    I pick up most programming things pretty quickly, but I’ve not done anything with C# or .NET before.
    My initial thought was to use eventcreate and write a simple batch file to generate a bunch of events, but eventcreate turned out to be a dead end, since I need to audit occurrences of lots of events in the 4XXX range, like 4726.
    I then tried PowerShell (New-EventLog –LogName Security –Source “TEST” then
    Write-EventLog –LogName Security –Source “TEST” –EntryType Information –EventID 1 –Message “TESTING”) but with the Security log being locked down that won’t fly.
    I tried giving myself full rights on the eventlog registry key and the security key specifically, but that didn't work. Is there something obvious that I'm missing?
    If I need to call the APIs with a script or application of some sort (ideally a script), I can look into that, but I’m afraid that I’m rather puzzled on how to start.
    Thank you very much for your time!

    Hi,
    If you want to get a scripting solution, I would suggest you refer to
    The Official Scripting Guys Forum to get professional support:
    The Official Scripting Guys Forum
    http://social.technet.microsoft.com/Forums/scriptcenter/en-US/home?forum=ITCG
    In addition, you can also configure email notifications on specific events IDs:
    Getting event log contents by email on an event log trigger
    http://blogs.technet.com/b/jhoward/archive/2010/06/16/getting-event-log-contents-by-email-on-an-event-log-trigger.aspx
    E-mail Notification of Security events
    http://social.technet.microsoft.com/Forums/windowsserver/en-US/37a54113-e53f-4024-ae4b-59ab18be62fd/email-notification-of-security-events?forum=winserverDS
    Best Regards,
    Amy Wang

Maybe you are looking for