8.2.2. Common¶
8.2.2.2. If error page is customized, error page will be displayed in the IFRAME of IFRAME re-director.¶
If you, for example, customize http404.jsp, global navigation will remain displayedif error should occur in the IFRAME re-director.Situation above could be avoided as follows.Set the URL of error page itself to DOM element #im_error_url of customized error page.
8.2.2.4. departmentByCompany and postByCompany in the user context may become undefined.¶
Conversion of departmentByCompany and postByCompany will fail in the following cases.
- return value of UserContext when “-” is used for companyCd.
- “-” is used at the top of company code which becomes the numeric value.
8.2.2.5. If log is generated at DEBUG level, account password may possibly be written.¶
If log is generated at DEBUG level, account information including password may be generated to the logwhen the account information is added, updated, or deleted.Please be aware that log output at DEBUG level is for the development purpose, and the log level should be INFO or higher in the environment other than development.
8.2.2.6. On some search screens capital letter and small letter are handled separately during search.¶
On some screens capital letter and small letter are handled separately for keyword search.Screens below are of this type.
- Authorization Setting Screen
For example, if the data is registered as “IFRAME” name, search for “iframe” does not hit this data.
8.2.2.7. If you access small letter URL with capital letters in Windows environment, invalid actions may result.¶
In Windows environment capial letters and small letters for URL may not be differentiated depending on the setting of Web Application Server.Since the URL path of intra-mart Accel Platform is basically defined in small letters, URL entry in capital letters may cause abnormal operations.
8.2.2.8. It is strongly recommended not to directly update or delete data without using API.¶
- In case data in the table is directly updated or deleted without using API, we do not guarantee for the screens and API behaviors thereafter.
8.2.2.9. Session management by URL cannot be used.¶
intra-mart Accel Platform does not support session management method by URL rewriting.Please always use Cookie for session management.
8.2.2.10. It is necessary that account and profile are synchronized.¶
If you create the data with only the account or only the profile,maintenance may not work or abnormal operation may result.Please make sure they are synchronized.
8.2.2.11. If setting for database log is made, error level log is generated when it is launched.¶
If setting for database log is made, error level log is generated at start time, but it does not present any problem.Database log is now classified as deprecated.It is strongly recommended to use the log tool etc., which are suited for the Database in use.<!-- - Parameter for intra-mart only --> <intra-mart> <database> <log sqlparam="false" isEnabledMode="CALLER_CLASS_NAME" /> </database> . . .Note
Log generated at start time
[12-10-01 00:00:00.000] {main} !!!! Please check your LOGBACK configuration file !!!!
8.2.2.12. “%28” (encoded “(”) cannot be used for URL.¶
- If you specify “%28” (encoded “(”) in URL, error log will be generated.
8.2.2.13. There are limitations about script development model.¶
- If you make the object permanent by using the APIs below, its contents cannot be directly obtained by Java API.
- Client#set
- Permanent#set
- Cache#set
- Module#external#set
8.2.2.14. If zip file is generated by Archiver4Storage, unzip operation may not be performed correctly because of different delimiter characters by OS.¶
If zip file is generated using Archiver4Storage in Windows environment and at the same time in environment of Version7.2 or earlier,it cannot be unzipped correctly when unzipped in Linux/Unix environment.
8.2.2.15. In case Base URL is explicitly set, log-in will fail if it is accessed by the URL other than the Base URL which is set.¶
Base URL can be set for each tenant and for each system unit.(Function to set Base URL for each tenant is available from intra-mart Accel Platform 2014 Spring(Granada).)If Base URL is set, links on the screen or screen transitions are based on the Base URL.If the access is made by other than the Base URL which is set, the screen is displayed normally. However, if the screen transitions thereafter, it is accessed by the URL based on the Base URL.If the URL which was accessed initially and Base URL are in different domains, session cannot be maintained, because the base domains of Cookie are different.Consequently, unexpected error might happen.Concrete examples of errors are shown below.Log-in screen can be accessed by the following URLs in local environment.
- http://localhost:8080/imart/login
- http://127.0.0.1:8080/imart/login
- http://<IP Address>:8080/imart/login
- Others
In case Base URL and the URL accessed are different, log-in screen itself will be normally displayed.If you execute log-in, checking by SecureToken takes place. However, since the session information cannot be accessed, authorization error (HTTP403) will result.If you come across with the situation in which you cannot log-in by authority error, please check the Base URL.
8.2.2.16. In case date/time of summer time is used in script development model, conversion of date object (Date) to character string is not performed accurately.¶
If the Date instance of JavaScript meets all the conditions below, conversion from the Date instance to the date character string is not performed correctly (one hour difference will result.)
Date is in 1970 or before.
It is in the summer time period of default time zone of JavaVM in which Web Application Server is running.<*> This symptom is due to the specifications of script development model engine (Rhino).As an example, please assume that the date/time data of system time zone is converted to the user time zone and is reformatted to the date/time character string in a specified format (example : [yyyy/MM/dd HH:mm:ss] format).If the code below is executed when the time zone of Web Application Server is JST (Japan Standard Time),var date = new Date(1948, 7, 1, 0, 0, 0); var dateString = DateTimeFormatter.format('yyyy/MM/dd HH:mm:ss', date); Debug.browse(date.toString(), dateString);result of execution would be as follows :
- date.toString() → Sun Aug 01 1948 00:00:00 GMT+0900 (JST)
- dateString → 1948/08/01 01:00:00
If you need to implement a time-zone conscious application program, you should handle the date/time information using DateTime API.By using the DateTime API you can convert the date/time to the correct character string.var systemTimeZone = SystemTimeZone.getDefaultTimeZone().data; var dateTimeSystemTZ = new DateTime(1948, 7, 1, 0, 0, 0, systemTimeZone); var dateTimeUserTZ = dateTimeSystemTZ.withTimeZone(Contexts.getAccountContext().timeZone).data; var dateString = DateTimeFormatter.format('yyyy/MM/dd HH:mm:ss', dateTimeUserTZ); Debug.browse(dateString);Result of execution would be as follows.
- dateString → 1948/08/01 00:00:00
Please be aware that “Programming Samples for Internationalization” is provided in “Script Development Model Programming Guide” and “SAStruts+S2JDBC Programming Guide” for you to refer to.If your operation does not need to be time-zone conscious, situation as above can be avoided by making the following settings.
Add time-zone ID in Etc/GMT format to the time-zone master.Open WEB-INF/conf/time-zone-config/im-time-zone-config.xml, and add time-zone-id tag.Please refer to Setup File Reference for time-zone master.<time-zone-config> <time-zone-id>Etc/GMT-9</time-zone-id> </time-zone-config> Set time-zone ID in Etc/GMT format to the system property “user.timezone” of JavaVM on which Web Application Server is running.In case of Resin, open <%RESIN_HOME%/conf/resin.properties>, and set “-Duser.timezone” to “jvm_args” property.# Arg passed directly to the JVM jvm_args : -Xmx1024m -XX:MaxPermSize=256m -Duser.timezone=Etc/GMT-9 Change tenant time-zone to the time-zone ID in Etc/GMT format.Change the value of time_zone_id in im_tenant_info table of system database to Etc/GMT-9.Or you can change the value on the tenant time-zone change screen in tenant management function. (select GMT+09:00). Change time-zone of every user to time-zone ID in Etc/GMT format or to undefined.User time zone can be set by directly changing the database value too.Specifically, change the value of time_zone_id in b_m_account_b table of tenant database to null or Etc/GMT-9.
8.2.2.17. Prefix of table name will be a reserved word of intra-mart Accell Platform.¶
- Following table names cannot be used as a prefix.
- b_m_*
- b_vc_*
- bk_imm_*
- im_*
- imaz_*
- imjob_*
- imm_*
- imw_*
8.2.2.18. If multiple tenants are built by WAR file, it is recommended to separate the database for connection by each instance.¶
- If multiple tenants are built by WAR file, it is recommended to separate the database for connection by each instance.
8.2.2.19. It should conform to the specifications and limitations of various Database and JDBC drivers.¶
It should conform to the specifications and limitations of various database and JDBC drivers.For example as an issuing SQL,in case of SQLServer maximum number of placeholders that can be specified (use of PreparedStatement) is 2100.You can specify up to 1000 IN phrases in Oracle.
8.2.2.20. It is always necessary to have 1 layer path for URL at which intra-mart Accel Platform is operated.¶
You must set the 1 layer path such as http://host/imart for URL at which intra-mart Accel Platform is operated.It is necessary to set the 1 layer path not only for the server on which intra-mart Accel Platform operates, but also for the path viewed from the client (browser) side.Example :/imart will work. We do not guarantee the operations if it is used with the path like /foo/imart or /.
8.2.2.21. If UI tag is stated in the Loop process in JSP, the value specified by the literal may become effective only for the first one time.¶
If UI tag is stated in the loop process in JSP, the value specified in the literal would possibly become effective for the first one time only.[Condition]UI tag which specifed the literal in <imart:repeat/> or <imart:loop/> is specified.(example) <% String id = "#"; String prefix = "c"; %> <imart:loop count="5" index="loop_number"> <input type="text" id="<%= prefix + loop_number %>" /> <im:calendar floatable="true" altField="<%= id + prefix + loop_number %>" showButtonPanel="true" /> </imart:loop>In the case above, floatable will be true only for the first one time, and it becomes the default false state for the second and subsequent times.[Circumvention]Please specify as parameter and not as literal.(example) <% String id = "#"; String prefix = "c"; String floatable = "true"; %> <imart:loop count="5" index="loop_number"> <input type="text" id="<%= prefix + loop_number %>" /> <im:calendar floatable="<%= floatable %>" altField="<%= id + prefix + loop_number %>" showButtonPanel="true" /> </imart:loop>
8.2.2.22. Styles or APIs that are not published may be deleted without advance notice.¶
Please do not use unpublished styles or APIs.You should not use the styles or APIs that have not been published in the API List or other document.They may be deleted without notice, and we do not guarantee for any problems when you are using them.