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,
Uchehi 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' -
Hi,
is anywhere available a recomendation for development standards for PI. I mean naming conventions, etc.
Thanks.
MarianHi 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.comHi,
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
AJHi,
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
AJHello 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,
JohnThanks 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,
JanetHi 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 capabilitiesWell, 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,
RobertI'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.
-
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 ArunachalamHi
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
-
Delivered qty and put in stock qty not updated after GR reversal
Hi, We encountered a strange issue while making a 102 movement for a production order. Planned order qty - X Production order qty - X+Y Confirmed Qty - X GR posted for Splits of Qty X GR Posted for Qty Y At this time Quantities in Production shows
-
[ISSUE FOUND] Help Request Stabilizing Google Earth 7.1
Good Morning Fellow Archers, Arch is my main OS, I have a Windows 7 partition for Games (Skyrim). I am x86_64, running the 32bit libs, NVidia GTX-660 platform, with the "ck" kernel option for my Piledriver CPU with the associated "ck" nvidia modules.
-
SO, I download some albums from the Music Store, and plug my iPhone into the iMac, and quite oftern I get the tracks duplicated on the iPhone. As you can imagine, this is not ideal when I try and listen to the album, as I get Track 1 followed by Trac
-
Multiple libraries - Duplicates - Mess
Hi I have a friend who has made a total hash of his photo libraries. He had copies on his old laptop which he backed up onto a maxtor drive, he then moved the library onto his work desktop machine and when he updated at work he would copy the origina
-
Folder with question mark keeps coming back
Hello there , i have a problem with my mac pro. The problem is that every time i start up the mac it can't find my startup disk and then gives me the Folder with ? mark in it. Some times just do a start up for the second time helps but most of the ti