Development Standards for APEX

We are close to making APEX an official development method within our company. We have managed to produce everything that has been asked of us using APEX and are very happy with the outcome.
The one thing that is missing and I suspect would take a long time to produce, and be prone to naive decisions, are development and release standards.
Does anyone have a document that they are willing to share with us?
Regards,
Rob.

One thing APEX is quite poor at is concurrent development, ie people working on different areas of the application at the same time. Whilst it is true that one can export page by page, shared components can be tricky because it really isn't feasible to start exporting each component individually.
What we do is this:
Export the application as a whole for the initial release, then extract each page as a module and check into our CVS system as a module per page. Then check out the shared components into CVS too as a single module. So developers can modify and release pages without affecting each other however if shared components are being updated then there needs to be some coordination and/or cvs branching.
We also try to maintain as much as possible on the database - ie, complex queries built into views and then in APEX just select from that view. Any updates are written into a database package and called from APEX. That way most of the changes that need doing to code can be done in the database objects rather than having to modify it in APEX - ie, we treat APEX as more of a presentation layer rather than a data manipulation layer. Having the code like this also allows re-use across multiple systems, either in APEX or otherwise.
We have a peer review system where somebody else reviews all developments before going live to verify coding quality, pick up any bugs, security issues etc.
We use APEX quite a bit in our production environment now so any specific questions, please feel free to ask!

Similar Messages

  • Development Standards for BW implementation

    Hi all,
    Any one has any materials on development standards for BW implementation - with any special attention to BI 7.0 implementation?
    Thanks for your assistance. Contributions will be rewarded with points.
    Regards,
    Uche

    hi Uche,
    check if helps
    Multi-Dimensional Modeling with SAP NetWeaver BI
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6ce7b0a4-0b01-0010-52ac-a6e813c35a84
    Modeling the Data Warehouse Layer with BI
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3668618d-0c01-0010-1ab5-aa75c3a4dfc2
    Frontend Design Guidelines - SAP BI in SAP NetWeaver 2004s
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/58fd9183-0e01-0010-f183-fdc9019f77ab
    Enterprise Reporting, Query, and Analysis - Developers Guide
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0901c9bb-0601-0010-49ab-c1770c527673
    check
    https://www.sdn.sap.com/irj/sdn/developerareas/bi
    'key topics'

  • Development standards for PI

    Hi,
    is anywhere available a recomendation for development standards for PI. I mean naming conventions, etc.
    Thanks.
    Marian

    Hi Marian,
    there are plenty of such documents on sdn
    just try with search on forum and you wil lfind both pdfs and www references like
    http://www.erpgenie.com/sap/netweaver/xi/namingconventions.htm
    Regards,
    Michal Krawczyk

  • SQL Developer extension for APEX workspace management

    Hi everyone,
    I've put together some SQL Developer extensions - one of them provides APEX workspace management
    from within SQL Developer when connected to the database as SYS. A screenshot and a short
    description is available here:
    http://sql-plsql-de.blogspot.com/2009/09/erweiterungen-fur-den-sql-developer.html?lang=en
    You can download the zip archive directly from here (the blog posting contains this link also)
    http://htmldb.oracle.com/pls/otn/f?p=20225:2:0::::P2_SUCHWORT:sqldev-ext
    Try it out - if you like it: Please give me feedback; if not: please do also
    Regards
    -Carsten
    Oracle 11g Release 2: New Features for Developers in German
    http://www.oracle.com/global/de/community/index.html
    BLOG: SQL und PL/SQL in Oracle
    http://sql-plsql-de.blogspot.com

    Hi,
    Looks very nice and I really like idea. Great job !
    For futher development idea:
    I like see that individual workspace admin could use same kind plugin, connecting DB with user that is assigned to workspace and manage only that WS properties.
    Br, Jari

  • ABAP Development standards for HR- ABAP

    Hi ALL
    Does any body has any document for Programming standards in HR ABAP programming.
    Thanking in advance for you support.
    cheers
    AJ

    Hi,
    Check out this thread.
    ABAP-HR
    Cheers,
    Swamy Kunche

  • ABAP Webdynpros Development standards

    Hi ALL
    Does any body has any Documents regarding development standards for ABAP Webdynpors..
    Thanks in advance any help will be much rewarded.
    cheers
    AJ

    Hello Friend,
    It is a good practice for individual firm to define their own standards. In addition, such a document would be an intellectual property of the firm and would not be a good idea for anyone to share it on a forum.
    Defining the standard is a relatively easy process. Please make sure you have the contribution from the development team in this process since it is them who is going to use it.
    Regards
    Thanigs

  • Performance Standards for XMLP

    Is there any information out there on performance development standards for XMLP? I'm hoping to give our developpers some pointers before we start build. We've had reports timing out in the past. Any information about how to structure your report for performance or what functions to use/not use in your template would be greatly appreciated.
    Thanks,
    John

    Thanks Tim. I know this information will be very useful for our developers. Also, I got the chance to try your solution for grabbing the XMLP session user. It worked like a charm. Nice reference to Abbott & Costello ('Who's on first?').
    Thanks again,
    John

  • Standards for BW implementation

    Hi,
    Can anyone send me a copy of guidelines and development standards for BW implementation? You can send to [email protected] Many thanks.
    Regards,
    Janet

    Hi Janet,
    Below steps are the the high level plan for the BW implementation
    1. AS IS process - Study of the existing process.
    2. To be process mapping - What will be the new process.
    3. customizaiton in SAP & query development - Customizing the cubes and ODS,Reports
    4. Unit testing - Testing of each and every module and reports
    5. Full testing - Full system testing. In this step all steps are integrated so, it is also known as Integration testing.
    6. End-user training - Training for the Power user (first line users) by the SAP Consultants. They will in turn train to other users.
    7. Go-live
    8. Support for initial month-ends. -
    9. Post implementation support....
    check if this  helps
    Multi-Dimensional Modeling with SAP NetWeaver BI
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6ce7b0a4-0b01-0010-52ac-a6e813c35a84
    Modeling the Data Warehouse Layer with BI
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3668618d-0c01-0010-1ab5-aa75c3a4dfc2
    Frontend Design Guidelines - SAP BI in SAP NetWeaver 2004s
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/58fd9183-0e01-0010-f183-fdc9019f77ab
    Enterprise Reporting, Query, and Analysis - Developers Guide
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0901c9bb-0601-0010-49ab-c1770c527673
    check
    https://www.sdn.sap.com/irj/sdn/developerareas/bi
    'key topics'
    ****Assign Points If Helpful***
    Regards,
    Ravikanth

  • How to set naming standards for SQL Developer

    I am using SQL Developer version 3.0.04.
    In the newly integrated and very useful Data Modeler, we can set preferences for the naming standards to be applied when creating logical and relational model objects ( primary keys, foreign keys, et cetera). I would like to know if there is a way to set naming standards for the relational objects we create in SQL Developer on existing tables ( ( primary keys, foreign keys, et cetera).
    Any help in setting such preferences would be appreciated.

    Hi,
    If you want to set up a diagram for an existing database, you can use File/Data Modeler/Import/Data Dictionary to import its definitions.
    Alternatively you can open a Data Modeler Browser (using View/Data Modeler/Browser), expand the node for Design "Untitled_1",
    expand the node for Relational Models, and select Show from the Right-click drop-down menu for "Relational_1" to create a Relational Model diagram.
    You can then drag Tables from SQL Developer's Connections tree onto the diagram.
    Once you have a Relational Model you can reverse engineer it to an Entity-Relationship model using the << button in the button bar
    (or by selecting "Engineer to Logical Model" from the drop-down menu for the Relational Model).
    Note that there is now a separate forum for SQL Developer Data Modeler topics: SQL Developer Data Modeler
    David

  • Industry standard for alloting Flash Development time

    Does anyone the industry standard for the time it takes for
    Flash development in general. In other words, How much developement
    time does it take to do one minute of flash animation. For example,
    with video and motion graphics, it's one hour of editing time to
    accomplish one minute of edited video.
    Is there a similiar industry standard for Flash development?
    Obviously, there are variations in the how robust the
    animations are, how interactive they are, and how complicated the
    code is...but I'm really just looking for a general rule of thumb
    for professional Flash developement..
    Anyone know?... or know a good place to find this
    info?

    I appreciate your willingness to respond but I find it hard
    to belive that a standard does not exist. As a multimedia developer
    at a high profile corporation, I have been asked for this
    information....and I gurantee that if I have been asked....others
    at large companies have been asked also.
    can anyone that works in the industry share their own
    guidelines based on personal experience? I have my own SWAG for the
    amount of time it takes indivdualy for custom animations,
    interactivies, and games...but would like to compare that to other
    estimates.
    Maybe it's better to ask for a Multimedia developemnt
    standard instead of a Flash development standard.

  • Change Control tools for APEX development

    I have a customer who is using APEX and would like to have change control, version, and synchronization of APEX pages...
    Basically we are talking about Configuration management capabilities

    Well, since APEX is mostly pl/sql based, the other poster's idea of SQL Developer is valid... The other items.... you are on your own for test scripts (again sql developer for the pl/sql required...)
    What it sounds like is your are wanting a oracle designer wrap-around for APEX.. Don't know what to tell you.. I would suggest you look at some type of version control system.. Subversion is a good one, MS Source Safe works too...
    Thank you,
    Tony Miller
    Webster, TX
    While it is true that technology waits for no man; stupidity will always stop to take on new passengers.

  • Updating Page Sentry for APEX 4.0

    Hi there,
    I've found this forum and the regular posters and mods to be extremely helpful, so this post is more of a give-back, I hope. We recently upgraded a dev system of apex 3.0.x to 4.0.2 and ran into some issues where our use of some Page Sentry auth code that's been floating around a long time became a problem for us in terms of properly managing session state, URL forwarding, and acceptance of URL parameters for setting the value of page items in session.
    I've posted [an article on our blog|http://zetetic.net/blog/2010/12/10/updating-page-sentry-for-apex-4-0-upgrade/] explaining the whole thing in what is probably very boring detail over here, and if you're so inclined, we'd love your feedback. But just so there's no need to go anywhere, here's the page sentry we ended up implementing, which makes some pretty significant mods to the old page sentry to account for what we perceived as changes in APEX's behavior somewhere in our move from 3.0 all the way up to 4.0.2.
    You can view the following function nicely formatted [at this gist|https://gist.github.com/736369] :
    <pre><code>
    CREATE OR REPLACE function PASSPORT.oamPageSentry ( p_apex_user in varchar2 default 'APEX_PUBLIC_USER' )
    return boolean
    as
    l_cgi_var_name varchar2(100) := 'REMOTE_USER';
    l_authenticated_username varchar2(256) := upper(owa_util.get_cgi_env(l_cgi_var_name));
    l_current_sid number;
    l_url_sid varchar2(4000);
    l_url varchar2(4000);
    l_app_page varchar2(4000);
    begin
    -- check to ensure that we are running as the correct database user
    if user != upper(p_apex_user) then
    return false;
    end if;
    if l_authenticated_username is null then
    return false;
    end if;
    l_current_sid := apex_custom_auth.get_session_id_from_cookie;
    l_url := wwv_flow_utilities.url_decode2(owa_util.get_cgi_env('QUERY_STRING'));
    wwv_flow.debug('oamPageSentry: request from ' || l_authenticated_username || ' (sid=' || l_current_sid || ') for ' || l_url);
    -- split on zero or more non-colon characters, and extract the URL session ID if it is present
    l_url_sid := REGEXP_SUBSTR(l_url, '[^:]*', 1, 5);
    wwv_flow.debug('oamPageSentry: extracted current sid from url as ' || l_url_sid);
    -- the post_login call at the end of this function will blindly append the session ID to the URL, even if it is
    -- a deep link. Detect this condition, strip the duplicate session identifier, and redirect.
    if REGEXP_SUBSTR(l_url, '^.*:' || l_current_sid || ':.+:' || l_current_sid || '$') IS NOT NULL then
    l_url := REGEXP_REPLACE(l_url, ':' || l_current_sid || '$', '');
    wwv_flow.debug('oamPageSentry: identified duplicate session id on URL, stripping and redirecting to ' || l_url);
    owa_util.redirect_url('f?'|| l_url);
    return false;
    end if;
    -- apex 4.0 appears to have problems setting session variables (possibly due to new session validation)
    -- if the Session identifier present in the URL does not agree with the session identifier in the cookie
    -- detect this condition, and replace the invalid URL session identifier in the URL with the valid
    -- ID in from the cookie and redirect to the fixed URL
    if owa_util.get_cgi_env('REQUEST_METHOD') = 'GET' AND l_current_sid <> TO_NUMBER(l_url_sid) then
    l_url := REGEXP_REPLACE(l_url, '^(p=.+?:.+?):\d*(.*)$', '\1:' || l_current_sid || '\2');
    wwv_flow.debug('oamPageSentry: current sid ' ||l_current_sid || ' is diferent from url sid ' || l_url_sid || ', redirecting to url' || l_url);
    owa_util.redirect_url('f?'|| l_url);
    return false;
    end if;
    -- 1. If the session is valid and the usernames match then allow the request
    -- 2. If the session is valide but the usernames do not match, there may be session tampering going on. log the session out
    -- 3. If the session id is not valid, generate a new session, and register it with apex
    if apex_custom_auth.is_session_valid then
    apex_application.g_instance := l_current_sid;
    wwv_flow.debug('oamPageSentry: current sid ' || l_current_sid || ' with username ' || apex_custom_auth.get_username || ' is valid');
    if l_authenticated_username = apex_custom_auth.get_username then
    wwv_flow.debug('oamPageSentry: current session username ' || apex_custom_auth.get_username || ' equal to header username ' || l_authenticated_username);
    apex_custom_auth.define_user_session(
    p_user=>l_authenticated_username,
    p_session_id=>l_current_sid);
    return true;
    else
    wwv_flow.debug('oamPageSentry: username ' || apex_custom_auth.get_username || ' mismatch with ' || l_authenticated_username || ' loggout');
    apex_custom_auth.logout(
    p_this_app=>v('APP_ID'),
    p_next_app_page_sess=>v('APP_ID')||':'||nvl(v('APP_PAGE_ID'),0)||':'||l_current_sid);
    apex_application.g_unrecoverable_error := true; -- tell apex engine to quit
    return false;
    end if;
    else -- application session cookie not valid; we need a new apex session
    wwv_flow.debug('oamPageSentry: current session ' || l_current_sid || ' is not valid');
    l_current_sid := apex_custom_auth.get_next_session_id;
    wwv_flow.debug('oamPageSentry: generated new session id ' || l_current_sid);
    apex_custom_auth.define_user_session(
    p_user=>l_authenticated_username,
    p_session_id=> l_current_sid );
    apex_application.g_unrecoverable_error := true; -- tell apex engine to quit
    if owa_util.get_cgi_env('REQUEST_METHOD') = 'GET' then
    wwv_flow.debug('oamPageSentry: GET request, remembering deep link ' || l_url);
    wwv_flow_custom_auth.remember_deep_link(p_url => 'f?'|| l_url );
    else
    l_url := 'f?p='||
    to_char(apex_application.g_flow_id)||':'||
    to_char(nvl(apex_application.g_flow_step_id,0))||':'||
    to_char(apex_application.g_instance);
    wwv_flow.debug('oamPageSentry: POST request, remembering deep link ' || l_url);
    wwv_flow_custom_auth.remember_deep_link(p_url=> l_url );
    end if;
    -- in previous versions of apex the remember_deep_link call would actually work and cause
    -- post_login to redirect to the target URL. This doesnt work any more in 4.0. Instead,
    -- we'll pass the target page in to the post_login call directly. Post login will blindly
    -- append the session ID to the end of p_app_page when it redirects, but we
    -- clean that up with the first cleanup redirect at the beginning of the function
    l_app_page := SUBSTR(l_url, 3, LENGTH(l_url) - 2);
    wwv_flow.debug('oamPageSentry: post_login for ' || l_authenticated_username || ' app_page ' || l_app_page );
    apex_custom_auth.post_login(
    p_uname => l_authenticated_username,
    p_session_id => nv('APP_SESSION'),
    p_app_page => l_app_page
    return false;
    end if;
    end oamPageSentry;
    </code></pre>

    Billy,
    Thanks a lot for this great info. It seems to have solved the problem I have been having with an NTLM page sentry function for the last 2 or 3 days. Very difficult stuff to debug what is going on inside these functions when they (obviously) behave differently once you have logged in etc.
    As I said, your solution seems to solve my problem - but I have a couple of questions :
    1. Is this related to 10347091 which is mentioned on http://www.oracle.com/technetwork/developer-tools/apex/downloads/apex402knownissues-189793.html ?
    If yes, did you try the patch?
    2. Have you logged a bug or had any feedback (externally or within the forum) from Oracle people on this issue?
    I was about to log a bug regarding the deep linking and FSP_AFTER_LOGIN_URL not behaving correctly when I noticed the known issues and now your valuable work. I was going to try the patch, but I'd rather not apply it unless I know it will solve my problem.
    Please let me know.
    Thanks
    Glen

  • Plug-in development standard or professional?

    Hi all,
    Our company develops plugins for Acrobat X professional. We are planning to upgrade multiple machines to Acrobat XI. The SDK documentation states  "Plug-ins for Acrobat Standard do not have access to some APIs". But we are unable to find out which API's. Apparently the documentation does not include this information. For example we also work in the COS-Layer, is this supported in the standerd acrobat? There is also no trail version of Acrobat Standard XI, thus there is no way to test if our plugins work with Acrobat Standard XI
    Could someone point us in the right direction? Any help would be appreciated!
    Regards,
    Robert

    I've never found out, nor yet hit an API which wasn't there. The Cos, PD, AV, PDFEdit APIs are there for sure. I think you'd be looking for APIs which hook to completely missing features e.g. if there is an API to preflighting, it would only be in Pro since preflighting is only in Pro. I think you'll really just need to bite the bullet and buy a copy.

  • Development Standard

    Hello,
    We are new into SAP NWDI. We are looking for any Development Standards and/or Development Process Document like Coding/Naming Standards etc.,
    Does anyone have any info? How does it evolve in comparison to SAP ABAP Standards? Does it available already or do we need to make one ourselves?
    Thanks,
    Bala Arunachalam

    Hi
    Please check on this link
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/011ccf90-0201-0010-92a7-b319adf89b73
    for naming convention and standards ( NWDI - webdynpro)
    and
    before your development in NWDI,
    check this blog
    /people/sathyanarayanan.ganesan2/blog/2006/06/16/checklist-of-activities-for-webdynpro-application-development
    use these links also
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/e4/d7fb402eb5f76fe10000000a1550b0/content.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/33/d8fb402eb5f76fe10000000a1550b0/frameset.htm
    also use these links
    You can find coding principles in Web Dynpro using below link.
    http://www.sap-press.de/download/dateien/688/sappress_web_dynpro_java.pdf
    "Inside Web Dynpro for Java" by Chris Whealy provides good insight into the webdynpro architecture.
    http://www.sap-press.de/katalog/buecher/inhaltsverzeichnis/gp/titelID-937
    Go thru this blog
    /people/chris.whealy/blog/2006/01/13/when-creating-a-java-web-dynpro-application-dont-use-the-project-type-quotweb-dynpro-projectquot
    For naming conventions you can also follow
    Naming conventions

  • Development Environment for Server APIs in Webcenter Interaction 10.3

    Hi, I installed “Oracle Web Center Interaction 10.3" on standard environment mentioned by oracle (Window 2003 server, IIS6.0, SQL Server 2005). Everything works fine concerning the portal and services.
    I also have visual studio 2005 on the same machine and trying to setup a development environment where I can user server APIs (I start with creating IPTSession).
    I am using follwong code to start with:
    /String serverConfigDir = ConfigPathResolver.GetOpenConfigPath();
    IOKContext configContext = OKConfigFactory.createInstance(serverConfigDir, "portal");
    PortalObjectsFactory.Init(configContext);
    IPTSession ptSession = PortalObjectsFactory.CreateSession();
    Problem: code compiles if I add few dlls, but it do not run, it throws following error
    com.plumtree.openkernel.exceptions.OKFactoryException: Error in AOKFactory.createAndInitializeInstance, unable to create object with name 'com.plumtree.openkernel.impl.config.Config' in assembly or JAR file 'openconfig'.
    I think either server APIs are not more supported in 10.3 or I do not know how to setup the development environment for server APIs.
    Can anyone help??

    i have already tried putting hardcoded path but it didn't help, morover the previous line gives me correct path.
    I issue i mentioned seems to be related with some setting or missing native dlls
    com.plumtree.openkernel.exceptions.OKFactoryException: Error in AOKFactory.createAndInitializeInstance, unable to create object with name 'com.plumtree.openkernel.impl.config.Config' in assembly or JAR file 'openconfig'.
    i got follwing extract from the wsserver-wrapper.log file
    INFO | jvm 1 | 2009/02/20 12:26:17 | 2-20-2009     12:26:17.606     Info     OpenKernel.Config     Disabled-1235112977434     WrapperStartStopAppMain     com.plumtree.openkernel.impl.config.providers.ConfigXMLFileProvider     Loading config data from C:\bea\alui\ptws\10.3.0\bin\..\..\..\common/../settings
    INFO | jvm 1 | 2009/02/20 12:26:18 | 2-20-2009     12:26:18.325     Info     OpenKernel.Config     Disabled-1235112977434     WrapperStartStopAppMain     com.plumtree.openkernel.impl.config.providers.ConfigXMLFileProvider     Setting subscription data.
    INFO | jvm 1 | 2009/02/20 12:26:18 | container config context:EAS:wsserver
    i didn't modified anything in any config file, just configured everything on one machine with oracle configuration manager

Maybe you are looking for