Web-based user management tools???

Are there any pre-packaged or off-the-shelf tools one can use to manage unix users and groups in DS 5.2? (preferrably web based) I have found a few open source apps that are web-based but they don't seem to be production quality.
For now, I'm creating LDIF files and importing them or using the GUI console. This is tedius and the other sys admins that aren't familiar with ldap will find it difficult.
One of the open source tools I found was "Directory Administrator" which runs only under gnome, we don't use gnome.
Another tool is "LDAP Account Manager" which was originally built to manage samba users and their unix user/group attributes. We don't use samba and this application does not allow you to seperate the samba and unix components.
There has to be a simple web-based tool for managing unix users/groups. If any of you know of a commercial or free app, please let me know.

I urege to to take a look at phpldapadmin, an open-source php/web based tool for managing ldap/directory servers. We have been using it for over a year now, and find that it is easy to install, works well, and continues to receive updates on a periodic basis. Another nice thing is that since you have the php source, it's easy to modify for local modifications.
You can find it at:
http://phpldapadmin.sourceforge.net/

Similar Messages

  • Web Based User Management

    Hey guys,
    Any suggestions on how to have a web based user management system? I am looking for users to be able to change their user passwords from the web.
    Either to the local NetInfo or the Open Directory.
    Most of my users just use mail / webmail services and I want them to be able to change their passwords easily.
    I have looked into Usermin (usermin.com), but wonder if there is a better solutions.
    Appreciate the help,
    Tommy.
    G5 PowerMac   Mac OS X (10.4.7)  

    Does this application do what you want?
    (14223)

  • Web-based data visualization tools

    Hi.  I originally posted this question to the LV forum, but I am going to modify my question because I think Diadem may be a good solution for us.
    I am embarking on a interesting research project that will involve recording lots of physiological signals from patient monitors in a hospital.  I will be recording signals like BP, spO2, Pulserate, ECG, etc.
    Right now, my main design concern is how to give clinicians access to the data after it is recorded.  I think Diadem might be a good solution, but I really want it to be web-based.
    Here is my wish list:
    - Store the data securely, where access can be restricted and controlled (e.g. user must login)
    - Allow users (who are granted access) to login and view historical data via a simple web browser
    - Allow users to pick datasets amd zoom, scroll, etc. 
    - Allow user to view data in stacked plots (e.g. so they can see multiple signals simultaneously on the screen and scroll the time axis)
    - Allow user to annotate data (e.g. add comments at specific timestamps)
    Do you have any reccomendations for a web-based data visualization tool like this?  Do you think Diadem meet my needs?

    Hello J Osborne,
    You application sounds like a great fit for DIAdem and the DataFinder, with the exception of the Web-based nature of the application. We currently do not offer a native web interface to DIAdem and it's features, but there are ways to accomplish that using established technologies such as remote clients ...
    Here are my comments to your individual questions:
    - Store the data securely, where access can be restricted and controlled (e.g. user must login)
    * The DataFinder Server (which works with DIAdem) technology can be used to give specific users access to only data they are supposed to see, so we can cover this part of your application
    - Allow users (who are granted access) to login and view historical data via a simple web browser
    * This would have to be achieved via a remote client solution, since DIAdem offers no native Web client
    - Allow users to pick datasets amd zoom, scroll, etc. 
    * This is something that the DIAdem NAVIGATOR and DIAdem VIEW are very good at, including the ability to search for data sets based on specific key words, patient names, etc. and the ability to look at multiple data sets simultaneously in multiple windows with zooming and scrolling.
    - Allow user to view data in stacked plots (e.g. so they can see multiple signals simultaneously on the screen and scroll the time axis)
    * That's DIAdem VIEW, sounds like a perfect fit: http://zone.ni.com/devzone/cda/tut/p/id/7384
    - Allow user to annotate data (e.g. add comments at specific timestamps)
    * DIAdem VIEW has the ability to highlight events with cursors, and we could easily add the ability to add comments through a custom dialog and a short script. We could prepare and demo this feature for you ...
    I would be happy to discuss your application with you in more detail. Feel free to contact me at (800) 531-5066 (ask for Otmar Foehner) or via email at    otmar DOT foehner AT ni DOT com.
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."

  • BPC Mass User Management Tool error in BPC 10

    Hello,
    I've downloaded tranport files from How to use BPC Mass User Management Tool in Netweaver. But Transport import fails with RC12 without any shortdump. ABAP program ZUJE_MASS_USER_MGMT is not created.
    Version used - BPC 10 CPMBPC 801 on Netweaver 7.4 .
    Thanks in advance for your inputs.

    Tried changing transport options but no luck. Transport failed with status RC12 without creating ABAP program. However, Old version transport files imported with error. But I could not find METHOD check_bpc_component_is_valid.
    Can anyone please send the updated program.
    *& Report  ZUJE_MASS_USER_MGMT
    *& Created By: Rich Heilman  SAP Labs, LLC
    *& Created On: 08/2/2010
    REPORT  zuje_mass_user_mgmt.
    TYPE-POOLS: abap, vrm.
    *       CLASS lcl_application DEFINITION
    CLASS lcl_application DEFINITION FINAL.
      PUBLIC SECTION.
        CONSTANTS: lc_comma TYPE char01 VALUE ',',
                   lc_pipe TYPE char01 VALUE '|',
                   lc_tab TYPE char10 VALUE 'TAB'.
        TYPES: BEGIN OF t_appldim,
                appl_id TYPE uj_appl_id,
                dimension TYPE uj_dim_name,
              END OF t_appldim.
        TYPES: BEGIN OF t_appldimmembers,
                appl_id TYPE uj_appl_id,
                dimension TYPE uj_dim_name,
                member TYPE uj_dim_member,
              END OF t_appldimmembers.
        CLASS-METHODS: file_f4 RETURNING value(r_file) TYPE string,
                       directory_f4 RETURNING value(r_path) TYPE string,
                       get_initial_directory RETURNING value(r_path) TYPE string,
                       set_delimiter_listbox,
                       set_delimiter,
                       export_users_to_file,
                       import_users_from_file,
                       export_teams_to_file,
                       import_teams_from_file,
                       export_team_assign_to_file,
                       import_team_assign_from_file,
                       export_task_profiles_to_file,
                       import_task_profiles_from_file,
                       export_mem_profiles_to_file,
                       import_mem_profiles_from_file,
                       export_tap_assign_to_file,
                       import_tap_assign_from_file,
                       export_map_assign_to_file,
                       import_map_assign_from_file,
                       get_appset_data IMPORTING i_appset_id TYPE uj_appset_id
                                       EXCEPTIONS appset_not_found .
      PRIVATE SECTION.
        CLASS-DATA: lv_appset_id TYPE uja_s_appset_info-appset_id.
        CLASS-DATA: lv_delimiter TYPE string.
        CLASS-DATA: ls_appset_info TYPE uja_s_appset_info.
        CLASS-DATA: lt_appl_info TYPE uja_t_appl_info.
        CLASS-DATA: lt_appl_dim TYPE TABLE OF t_appldim.
        CLASS-DATA: lt_members TYPE TABLE OF t_appldimmembers.
        CLASS-DATA: lt_teams_list TYPE uje_t_team.
        CLASS-DATA: lt_users_list TYPE uje_t_user.
        CLASS-DATA: lt_tprofs TYPE uje_t_api_profile_id.
        CLASS-DATA: lt_mprofs TYPE uje_t_api_profile_id.
        CLASS-DATA: lt_tasks TYPE uje_t_role_tskasg.
        CLASS-DATA: lt_roles TYPE uje_t_role.
        CLASS-DATA: lo_context TYPE REF TO if_uj_context.
        CLASS-DATA: lt_alv_messages TYPE uj0_t_message.
        CLASS-METHODS: set_global_context,
                       render_alv,
                       upload IMPORTING i_filepath TYPE any
                              RETURNING value(rt_strtab) TYPE stringtab,
                       download IMPORTING i_filepath TYPE any
                                         it_datatab TYPE STANDARD TABLE,
                       user_is_valid IMPORTING i_user_id TYPE any
                                     RETURNING value(r_boolean) TYPE abap_bool,
                       team_is_valid IMPORTING i_team_id TYPE any
                                     RETURNING value(r_boolean) TYPE abap_bool,
                       tprofile_is_valid IMPORTING i_profile_id TYPE any
                                         RETURNING value(r_boolean) TYPE abap_bool,
                       mprofile_is_valid IMPORTING i_profile_id TYPE any
                                         RETURNING value(r_boolean) TYPE abap_bool,
                       role_is_valid IMPORTING i_role_id TYPE any
                                     RETURNING value(r_boolean) TYPE abap_bool,
                       task_is_valid IMPORTING i_task_id TYPE any
                                     RETURNING value(r_boolean) TYPE abap_bool.
    ENDCLASS.                    "lcl_application DEFINITION
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_export RADIOBUTTON GROUP grp1 DEFAULT 'X' USER-COMMAND chk.
    PARAMETERS: p_import RADIOBUTTON GROUP grp1.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_appset TYPE uja_appset_info-appset_id.
    PARAMETERS: p_file TYPE string LOWER CASE.
    PARAMETERS: p_delmt TYPE char10 AS LISTBOX VISIBLE LENGTH 20
                           DEFAULT lcl_application=>lc_comma.  "delimiter
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETERS: p_eusers RADIOBUTTON GROUP grp2 MODIF ID exp.
    PARAMETERS: p_eteams RADIOBUTTON GROUP grp2 MODIF ID exp.
    PARAMETERS: p_eteama RADIOBUTTON GROUP grp2 MODIF ID exp.
    PARAMETERS: p_etprof RADIOBUTTON GROUP grp2 MODIF ID exp.
    PARAMETERS: p_emprof RADIOBUTTON GROUP grp2 MODIF ID exp.
    PARAMETERS: p_etprfa RADIOBUTTON GROUP grp2 MODIF ID exp.
    PARAMETERS: p_emprfa RADIOBUTTON GROUP grp2 MODIF ID exp.
    SELECTION-SCREEN END OF BLOCK b3.
    SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-004.
    PARAMETERS: p_iusers RADIOBUTTON GROUP grp3 MODIF ID imp.
    PARAMETERS: p_iteams RADIOBUTTON GROUP grp3 MODIF ID imp.
    PARAMETERS: p_iteama RADIOBUTTON GROUP grp3 MODIF ID imp.
    PARAMETERS: p_itprof RADIOBUTTON GROUP grp3 MODIF ID imp.
    PARAMETERS: p_improf RADIOBUTTON GROUP grp3 MODIF ID imp.
    PARAMETERS: p_itprfa RADIOBUTTON GROUP grp3 MODIF ID imp.
    PARAMETERS: p_imprfa RADIOBUTTON GROUP grp3 MODIF ID imp.
    SELECTION-SCREEN END OF BLOCK b4.
    INITIALIZATION.
      p_file = lcl_application=>get_initial_directory( ).
      lcl_application=>set_delimiter_listbox( ).
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF p_export = abap_true AND screen-group1 = 'IMP'.
          screen-active = '0'.
        ENDIF.
        IF p_import = abap_true AND screen-group1 = 'EXP'.
          screen-active = '0'.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    AT SELECTION-SCREEN.
      CASE abap_true.
        WHEN p_export.
          CLEAR: p_iusers, p_iteams, p_iteama, p_itprof,
                 p_improf, p_itprfa, p_imprfa.
        WHEN p_import.
          CLEAR: p_eusers, p_eteams, p_eteama, p_etprof,
                 p_emprof, p_etprfa, p_emprfa.
      ENDCASE.
      IF sy-ucomm <> 'CHK'.
        IF p_appset IS INITIAL.
          MESSAGE e001(00) WITH 'Please enter an AppSet Id'.
        ENDIF.
        IF p_file IS INITIAL.
          MESSAGE e001(00) WITH 'Please enter a valid directory or file'.
        ENDIF.
        IF p_delmt IS INITIAL.
          MESSAGE e001(00) WITH 'Please specify a delimiter'.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CASE abap_true.
        WHEN p_export.  p_file = lcl_application=>directory_f4( ).
        WHEN p_import.  p_file = lcl_application=>file_f4( ).
      ENDCASE.
    START-OF-SELECTION.
      lcl_application=>set_delimiter( ).
      lcl_application=>get_appset_data(
                  EXPORTING
                       i_appset_id =  p_appset
                  EXCEPTIONS
                       appset_not_found  = 1 ).
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
      CASE abap_true.
        WHEN p_eusers.  lcl_application=>export_users_to_file( ).
        WHEN p_iusers.  lcl_application=>import_users_from_file( ).
        WHEN p_eteams.  lcl_application=>export_teams_to_file( ).
        WHEN p_iteams.  lcl_application=>import_teams_from_file( ).
        WHEN p_eteama.  lcl_application=>export_team_assign_to_file( ).
        WHEN p_iteama.  lcl_application=>import_team_assign_from_file( ).
        WHEN p_etprof.  lcl_application=>export_task_profiles_to_file( ).
        WHEN p_itprof.  lcl_application=>import_task_profiles_from_file( ).
        WHEN p_emprof.  lcl_application=>export_mem_profiles_to_file( ).
        WHEN p_improf.  lcl_application=>import_mem_profiles_from_file( ).
        WHEN p_etprfa.  lcl_application=>export_tap_assign_to_file( ).
        WHEN p_itprfa.  lcl_application=>import_tap_assign_from_file( ).
        WHEN p_emprfa.  lcl_application=>export_map_assign_to_file( ).
        WHEN p_imprfa.  lcl_application=>import_map_assign_from_file( ).
      ENDCASE.
    *       CLASS lcl_application IMPLEMENTATION
    CLASS lcl_application IMPLEMENTATION.
      METHOD file_f4.
        DATA: lt_file_table TYPE filetable.
        DATA: ls_file_table LIKE LINE OF lt_file_table.
        DATA: lv_rc TYPE sy-subrc.
        cl_gui_frontend_services=>file_open_dialog(
          CHANGING
            file_table = lt_file_table
            rc         = lv_rc ).
        CLEAR ls_file_table .
        READ TABLE lt_file_table INTO ls_file_table INDEX 1.
        IF sy-subrc  = 0.
          r_file = ls_file_table-filename.
        ENDIF.
      ENDMETHOD.                                                "file_f4
      METHOD directory_f4.
        cl_gui_frontend_services=>directory_browse(
            CHANGING
              selected_folder      = r_path
            EXCEPTIONS
              OTHERS               = 4 ).
      ENDMETHOD.                    "directory_f4
      METHOD upload.
        cl_gui_frontend_services=>gui_upload(
              EXPORTING
                filename = i_filepath
              CHANGING
                data_tab = rt_strtab
              EXCEPTIONS
                OTHERS   = 19 ).
        IF sy-subrc <> 0.
          MESSAGE e001(00) WITH 'File not found, check file path and name'.
        ENDIF.
        DELETE rt_strtab WHERE table_line IS INITIAL.
      ENDMETHOD.                    "upload
      METHOD download.
        DATA: lt_datatab TYPE stringtab.
        DATA: ls_datatab LIKE LINE OF lt_datatab.
        FIELD-SYMBOLS: <ls_data> TYPE ANY.
        FIELD-SYMBOLS: <lv_field> TYPE ANY.
    * Convert table to delimited string table
        LOOP AT it_datatab ASSIGNING <ls_data>.
          CLEAR ls_datatab.
          DO.
            ASSIGN COMPONENT sy-index
                             OF STRUCTURE <ls_data> TO <lv_field>.
            IF sy-subrc <> 0.
              EXIT.
            ENDIF.
            IF ls_datatab IS INITIAL.
              ls_datatab = <lv_field>.
            ELSE.
              CONCATENATE ls_datatab <lv_field>
                              INTO ls_datatab SEPARATED BY lcl_application=>lv_delimiter.
            ENDIF.
          ENDDO.
          APPEND ls_datatab TO lt_datatab.
        ENDLOOP.
        cl_gui_frontend_services=>gui_download(
           EXPORTING
             filename = i_filepath
           CHANGING
             data_tab = lt_datatab
           EXCEPTIONS
             OTHERS   = 24 ).
        IF sy-subrc <> 0.
          MESSAGE e001(00)
              WITH 'File not downloaded, check file path and name'.
        ENDIF.
      ENDMETHOD.                    "download
      METHOD get_initial_directory.
        cl_gui_frontend_services=>get_desktop_directory(
          CHANGING
            desktop_directory    = r_path ).
        cl_gui_cfw=>flush( ).
        CONCATENATE r_path '\*.csv' INTO r_path.
      ENDMETHOD.                    "get_initial_directory
      METHOD export_users_to_file.
        TYPES: BEGIN OF t_output,
                user_id TYPE uje_user-user_id,
                fullname TYPE uje_user-fullname,
                email TYPE uje_user-email,
               END OF t_output.
        DATA: lt_user_id TYPE uje_t_api_user_id.
        DATA: lt_users TYPE uje_t_user.
        DATA: ls_users LIKE LINE OF lt_users.
        DATA: lt_output TYPE TABLE OF t_output.
        DATA: ls_output LIKE LINE OF lt_output.
        lcl_application=>set_global_context( ).
        CALL FUNCTION 'UJE_API_GET_LIST_USERS'
          EXPORTING
            i_appset_id = lcl_application=>lv_appset_id
            is_user     = lcl_application=>lo_context->ds_user
            it_user_id  = lt_user_id
          IMPORTING
            et_user     = lt_users.
        REFRESH lt_output.
        LOOP AT lt_users INTO ls_users.
          MOVE-CORRESPONDING ls_users TO ls_output.
          APPEND ls_output TO lt_output.
        ENDLOOP.
    * Download table
        lcl_application=>download( EXPORTING i_filepath = p_file
                                             it_datatab = lt_output ).
      ENDMETHOD.                    "export_users_to_file
      METHOD import_users_from_file.
        DATA: lv_action TYPE uj_action.
        DATA: lv_success TYPE uj_bool.
        DATA: ls_user_info TYPE uje_s_userinfo.
        DATA: lt_messages TYPE uj0_t_message.
        DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
        DATA: lt_team_asin TYPE uje_t_user_team.
        DATA: lt_tprofiles TYPE uje_t_profile_id_act.
        DATA: lt_mprofiles TYPE uje_t_profile_id_act.
        DATA: lt_strtab TYPE stringtab.
        DATA: ls_strtab LIKE LINE OF lt_strtab.
        lt_strtab = lcl_application=>upload( p_file ).
        LOOP AT lt_strtab INTO ls_strtab.
          SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_user_info-user_id
                                      ls_user_info-fullname
                                      ls_user_info-email.
    * Check if user already exists, and set action accordingly.
          IF lcl_application=>user_is_valid( ls_user_info-user_id ) = abap_false.
            lv_action = 'I'.
          ELSE.
            lv_action = 'M'.
          ENDIF.
          CALL FUNCTION 'UJE_API_MANAGE_USER2'
            EXPORTING
              i_appset_id      = lcl_application=>lv_appset_id
              is_user          = lcl_application=>lo_context->ds_user
              is_user_info     = ls_user_info
              i_action         = lv_action
              it_team_asin     = lt_team_asin
              it_tprofile_id   = lt_tprofiles
              it_mprofile_id   = lt_mprofiles
            IMPORTING
              e_success        = lv_success
              et_message_lines = lt_messages.
          IF lv_success = 'Y'.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'S'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'User ID' ls_user_info-user_id
                        'has been created/updated successfully'
                                INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
          ELSE.
            APPEND LINES OF lt_messages TO lt_alv_messages.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'E'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'User ID' ls_user_info-user_id
                        'not created/updated due to error'
                                 INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
          ENDIF.
        ENDLOOP.
        lcl_application=>render_alv( ).
      ENDMETHOD.                    "create_users_from_file
      METHOD export_teams_to_file.
        TYPES: BEGIN OF t_output,
                team_id TYPE uje_s_team-team_id,
                description TYPE uje_s_team-description,
               END OF t_output.
        DATA: lt_teams TYPE uje_t_team.
        DATA: ls_teams LIKE LINE OF lt_teams.
        DATA: lt_output TYPE TABLE OF t_output.
        DATA: ls_output LIKE LINE OF lt_output.
        CALL FUNCTION 'UJE_API_GET_TEAMS'
          EXPORTING
            i_appset_id = lcl_application=>lv_appset_id
            is_user     = lcl_application=>lo_context->ds_user
          IMPORTING
            et_team     = lt_teams.
        REFRESH lt_output.
        LOOP AT lt_teams INTO ls_teams.
          MOVE-CORRESPONDING ls_teams TO ls_output.
          APPEND ls_output TO lt_output.
        ENDLOOP.
    * Download table
        lcl_application=>download( EXPORTING i_filepath = p_file
                                             it_datatab = lt_output ).
      ENDMETHOD.                    "export_teams_to_file
      METHOD import_teams_from_file.
        DATA: lv_action TYPE uj_action.
        DATA: lv_success TYPE uj_bool.
        DATA: ls_team TYPE uje_s_team.
        DATA: lt_messages TYPE uj0_t_message.
        DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
        DATA: lt_users TYPE uje_t_user_team.
        DATA: lt_tprofiles TYPE uje_t_profile_id_act.
        DATA: lt_mprofiles TYPE uje_t_profile_id_act.
        DATA: lt_strtab TYPE stringtab.
        DATA: ls_strtab LIKE LINE OF lt_strtab.
        lt_strtab = lcl_application=>upload( p_file ).
        LOOP AT lt_strtab INTO ls_strtab.
          SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_team-team_id
                                      ls_team-description.
    * Check if team is already a valid team, set action appropriatly
          IF lcl_application=>team_is_valid( ls_team-team_id ) = abap_false.
            lv_action = 'I'.
          ELSE.
            lv_action = 'M'.
          ENDIF.
          CALL FUNCTION 'UJE_API_MANAGE_TEAM2'
            EXPORTING
              i_appset_id      = lcl_application=>lv_appset_id
              is_user          = lcl_application=>lo_context->ds_user
              is_team          = ls_team
              i_action         = lv_action
              it_users         = lt_users
              it_tprofile_id   = lt_tprofiles
              it_mprofile_id   = lt_mprofiles
            IMPORTING
              e_success        = lv_success
              et_message_lines = lt_messages.
          IF lv_success = 'Y'.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'S'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'Team' ls_team-team_id
                         'has been created/updated successfully'
                             INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
          ELSE.
            APPEND LINES OF lt_messages TO lt_alv_messages.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'E'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'Team' ls_team-team_id
                        'not created/updated due to error'
                              INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
          ENDIF.
        ENDLOOP.
        lcl_application=>render_alv( ).
      ENDMETHOD.                    "create_teams_from_file
      METHOD export_team_assign_to_file.
        TYPES: BEGIN OF t_user_assign,
                user_id TYPE uje_s_user_team-user_id,
                team_id TYPE uje_s_user_team-team_id,
                teamleader TYPE uje_s_user_team-teamleader,
               END OF t_user_assign.
        DATA: lt_user_det TYPE uje_t_user_detail.
        DATA: ls_user_det LIKE LINE OF lt_user_det.
        DATA: ls_user_team TYPE uje_s_user_team.
        DATA: lt_team_assign TYPE TABLE OF t_user_assign.
        DATA: ls_team_assign LIKE LINE OF lt_team_assign.
        CALL FUNCTION 'UJE_API_GET_USERDATA'
          EXPORTING
            i_appset_id = lcl_application=>lv_appset_id
            is_user     = lcl_application=>lo_context->ds_user
          IMPORTING
            et_user     = lt_user_det.
        LOOP AT lt_user_det INTO ls_user_det.
          LOOP AT ls_user_det-t_team_id INTO ls_user_team.
            MOVE-CORRESPONDING ls_user_team TO ls_team_assign.
            APPEND ls_team_assign TO lt_team_assign.
          ENDLOOP.
        ENDLOOP.
    * Download table
        lcl_application=>download( EXPORTING i_filepath = p_file
                                             it_datatab = lt_team_assign ).
      ENDMETHOD.                    "export_team_assign_to_file
      METHOD import_team_assign_from_file.
        TYPES: BEGIN OF t_user_assign,
                user_id TYPE uje_s_user_team-user_id,
                team_id TYPE uje_s_user_team-team_id,
                teamleader TYPE uje_s_user_team-teamleader,
               END OF t_user_assign.
        DATA: lv_success TYPE uj_bool.
        DATA: lt_user_team_temp TYPE uje_t_user_team.
        DATA: ls_user_team_temp TYPE uje_s_user_team.
        DATA: lt_user_team TYPE uje_t_user_team.
        DATA: ls_user_team TYPE uje_s_user_team.
        DATA: ls_team_assign TYPE uje_s_user_team.
        DATA: lt_messages TYPE uj0_t_message.
        DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
        DATA: lt_tprofiles TYPE uje_t_profile_id_act.
        DATA: ls_tprofiles LIKE LINE OF lt_tprofiles.
        DATA: lt_mprofiles TYPE uje_t_profile_id_act.
        DATA: ls_mprofiles LIKE LINE OF lt_mprofiles.
        DATA: lt_tprofile_ids TYPE uje_t_api_profile_id.
        DATA: ls_tprofile_ids LIKE LINE OF lt_tprofile_ids.
        DATA: lt_mprofile_ids TYPE uje_t_api_profile_id.
        DATA: ls_mprofile_ids LIKE LINE OF lt_mprofile_ids.
        DATA: lt_strtab TYPE stringtab.
        DATA: ls_strtab LIKE LINE OF lt_strtab.
        DATA: ls_teams_list LIKE LINE OF lt_teams_list.
        lt_strtab = lcl_application=>upload( p_file ).
        LOOP AT lt_strtab INTO ls_strtab.
          SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_team_assign-user_id
                                      ls_team_assign-team_id
                                      ls_team_assign-teamleader.
          CLEAR ls_user_team.
          ls_user_team-user_id = ls_team_assign-user_id.
          ls_user_team-team_id = ls_team_assign-team_id.
          ls_user_team-teamleader = ls_team_assign-teamleader.
          TRANSLATE ls_user_team-teamleader USING 'YXyX1XxXN n 0 '. "Translate to X or space
          APPEND ls_user_team TO lt_user_team.
          IF lcl_application=>team_is_valid( ls_team_assign-team_id ) = abap_false.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'E'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'Team' ls_team_assign-team_id 'does not yet exist.'
                        'No user assigments done.'
                              INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
            lcl_application=>render_alv( ).
            RETURN.
          ENDIF.
          IF lcl_application=>user_is_valid( ls_team_assign-user_id ) = abap_false.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'E'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'User' ls_team_assign-user_id 'does not yet exist.'
                        'No user assigments done.'
                              INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
            lcl_application=>render_alv( ).
            RETURN.
          ENDIF.
        ENDLOOP.
        LOOP AT lcl_application=>lt_teams_list INTO ls_teams_list.
          REFRESH lt_user_team_temp.
          REFRESH lt_tprofile_ids.
          REFRESH lt_mprofile_ids.
    * Check that there is data for team assignment, otherwise skip
          READ TABLE lt_user_team TRANSPORTING NO FIELDS
                            WITH KEY team_id = ls_teams_list-team_id.
          IF sy-subrc <> 0.
            CONTINUE.
          ENDIF.
    * Get existing team data for this team.
          CALL FUNCTION 'UJE_API_GET_TEAMDATA'
            EXPORTING
              i_appset_id    = lcl_application=>lv_appset_id
              is_user        = lcl_application=>lo_context->ds_user
              i_team_id      = ls_teams_list-team_id
            IMPORTING
              et_user_team   = lt_user_team_temp
              et_tprofile_id = lt_tprofile_ids
              et_mprofile_id = lt_mprofile_ids.
    * Update with new users.
          LOOP AT lt_user_team INTO ls_user_team
                           WHERE team_id = ls_teams_list-team_id.
            MOVE-CORRESPONDING ls_user_team TO ls_user_team_temp.
            APPEND ls_user_team_temp TO lt_user_team_temp.
          ENDLOOP.
    * Keep existing profiles.
          REFRESH lt_tprofiles.
          LOOP AT lt_tprofile_ids INTO ls_tprofile_ids.
            ls_tprofiles-profile_id = ls_tprofile_ids-profile_id.
            APPEND ls_tprofiles TO lt_tprofiles.
          ENDLOOP.
          REFRESH lt_mprofiles.
          LOOP AT lt_mprofile_ids INTO ls_mprofile_ids.
            ls_mprofiles-profile_id = ls_mprofile_ids-profile_id.
            APPEND ls_mprofiles TO lt_mprofiles.
          ENDLOOP.
    * now update the user/team assignments
          CALL FUNCTION 'UJE_API_MANAGE_TEAM2'
            EXPORTING
              i_appset_id      = lcl_application=>lv_appset_id
              is_user          = lcl_application=>lo_context->ds_user
              is_team          = ls_teams_list
              i_action         = 'M'
              it_users         = lt_user_team_temp
              it_tprofile_id   = lt_tprofiles
              it_mprofile_id   = lt_mprofiles
            IMPORTING
              e_success        = lv_success
              et_message_lines = lt_messages.
          IF lv_success = 'Y'.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'S'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'Team' ls_teams_list-team_id 'user assignments'
                        'have been updated successfully'
                             INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
          ELSE.
            APPEND LINES OF lt_messages TO lt_alv_messages.
            CLEAR ls_alv_messages.
            ls_alv_messages-msgid = '00'.
            ls_alv_messages-msgty = 'E'.
            ls_alv_messages-msgno = '001'.
            CONCATENATE 'Team' ls_teams_list-team_id 'user assignments'
                        'not updated due to error'
                             INTO ls_alv_messages-message SEPARATED BY space.
            APPEND ls_alv_messages TO lt_alv_messages.
          ENDIF.
        ENDLOOP.
        lcl_application=>render_alv( ).
      ENDMETHOD.                    "import_team_assign_from_file
      METHOD export_task_profiles_to_file.
        TYPES: BEGIN OF t_output,
                identifier TYPE char01, " Row Identifer
                profile TYPE uj_profile_id,
                values TYPE string,
               END OF t_output.
        DATA: ls_tprofs LIKE LINE OF lt_tprofs.
        DATA: lv_profile TYPE uj_profile_id.
        DATA: ls_profile TYPE uje_s_profile.
        DATA: lt_role_id TYPE uje_t_api_role_id.
        DATA: ls_role_id LIKE LINE OF lt_role_id.
        DATA: lt_task_info TYPE  uje_t_task_info.
        DATA: ls_task_info LIKE LINE OF lt_task_info.
        DATA: lt_users_asin TYPE uje_t_api_user_id.
        DATA: ls_users_asin LIKE LINE OF lt_users_asin.
        DATA: lt_teams_asin TYPE uje_t_api_team_id.
        DATA: ls_teams_asin LIKE LINE OF lt_teams_asin.
        DATA: lt_output TYPE TABLE OF t_output.
        DATA: ls_output LIKE LINE OF lt_output.
        LOOP AT lcl_application=>lt_tprofs INTO ls_tprofs.
          lv_profile = ls_tprofs-profile_id.
    * Get relevant data for task profile
          CLEAR ls_profile.
          REFRESH: lt_role_id, lt_task_info, lt_users_asin, lt_teams_asin.
          CALL FUNCTION 'UJE_API_GET_TPROFILEDATA2'
            EXPORTING
              i_appset_id  = lcl_application=>lv_appset_id
              is_user      = lcl_application=>lo_context->ds_user
              i_profile_id = lv_profile
            IMPORTING
              es_profile   = ls_profile
              et_role_id   = lt_role_id
              et_task_info = lt_task_info
              et_user_id   = lt_users_asin
              et_team_id   = lt_teams_asin.
    * Write Header row
          CLEAR ls_output.
          ls_output-identifier = 'H'.
          ls_output-profile  = lv_profile.
          ls_output-values = ls_profile-description.
          APPEND ls_output TO lt_output.
    * Write task assigments
          CLEAR ls_output.
          ls_output-identifier = 'K'.
          ls_output-profile  = lv_profile.
          LOOP AT lt_task_info INTO ls_task_info.
            ls_output-values = ls_task_info-task_id.
            APPEND ls_output TO lt_output.
          ENDLOOP.
    * Write role assigments
          CLEAR ls_output.
          ls_output-identifier = 'R'.
          ls_output-profile  = lv_profile.
          LOOP AT lt_role_id INTO ls_role_id.
            ls_output-values = ls_role_id-role_id.
            APPEND ls_output TO lt_output.
          ENDLOOP.
    * Write user assignments
          CLEAR ls_output.
          ls_output-identifier = 'U'.
          ls_output-profile  = lv_profile.
          LOOP AT lt_users_asin INTO ls_users_asin.
            ls_output-values = ls_users_asin-user_id.
            APPEND ls_output TO lt_output.
          ENDLOOP.
    * Write team assignments
          CLEAR ls_output.
          ls_output-identifier = 'T'.
          ls_output-profile  = lv_profile.
          LOOP AT lt_teams_asin INTO ls_teams_asin.
            ls_output-values = ls_teams_asin-team_id.
            APPEND ls_output TO lt_output.
          ENDLOOP.
        ENDLOOP.
    * Download table
        lcl_application=>download( EXPORTING i_filepath = p_file
                                             it_datatab = lt_output ).
      ENDMETHOD.                    "export_task_profiles_to_file
      METHOD import_task_profiles_from_file.
        TYPES: BEGIN OF t_input,
                identifier TYPE char01, " Row Identifer
                profile TYPE uj_profile_id,
                values TYPE string,
               END OF t_input.
        TYPES: BEGIN OF t_task_profile,
                profile TYPE uje_s_profile,
                roles TYPE uje_t_api_role_id,
                task_info TYPE uje_t_task_info,
                users_asin TYPE uje_t_api_user_id,
                teams_asin TYPE uje_t_api_team_id,
               END OF t_task_profile.
        DATA: lt_task_profile TYPE TABLE OF t_task_profile.
        DATA: ls_task_profile LIKE LINE OF lt_task_profile.
        DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
        DATA: lt_messages TYPE uj0_t_message.
        DATA: lv_action TYPE uj_action.
        DATA: lv_success TYPE uj_bool.
        DATA: lv_last_profile TYPE uj_profile_id.
        DATA: lt_role_id TYPE uje_t_api_role_id.
        DATA: ls_role_id LIKE LINE OF lt_role_id.
        DATA: lt_task_info TYPE  uje_t_task_info.
        DATA: ls_task_info LIKE LINE OF lt_task_info.
        DATA: lt_users_asin TYPE uje_t_api_user_id.
        DATA: ls_users_asin LIKE LINE OF lt_users_asin.
        DATA: lt_teams_asin TYPE uje_t_api_team_id.
        DATA: ls_teams_asin LIKE LINE OF lt_teams_asin.
        DATA: lt_strtab TYPE stringtab.
        DATA: ls_strtab LIKE LINE OF lt_strtab.
        DATA: lt_input TYPE TABLE OF t_input.
        DATA: ls_input LIKE LINE OF lt_input.
        DATA: lt_obj_asin TYPE uje_t_profile_asin.
        DATA: ls_obj_asin LIKE LINE OF lt_obj_asin.
        DATA: lt_task_asin TYPE uje_t_task_id_act.
        DATA: ls_task_asin LIKE LINE OF lt_task_asin.
    * Upload file
        lt_strtab = lcl_application=>upload( p_file ).
    * Rip import file into internal table
        LOOP AT lt_strtab INTO ls_strtab.
          CLEAR ls_input.
          SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_input-identifier
                                      ls_input-profile
                                      ls_input-values.
          APPEND ls_input TO lt_input.
        ENDLOOP.
    * Build profile table containing all associated data
        SORT lt_input STABLE ASCENDING BY profile identifier values.
        LOOP AT lt_input INTO ls_input.
          IF ls_input-profile <> lv_last_profile
              AND lv_last_profile IS NOT INITIAL.
            APPEND ls_task_profile TO lt_task_profile.
            CLEAR ls_task_profile.
          ENDIF.
    * Based on record identifier
          CASE ls_input-identifier.
            WHEN 'H'.  " Header
              ls_task_profile-profile-profile_id  = ls_input-profile.
              ls_task_profile-profile-description = ls_input-values.
            WHEN 'K'.  " Task info
              SPLIT ls_input-values AT lcl_application=>lv_delimiter INTO ls_task_info-task_id
                                                ls_task_info-description.
              IF lcl_application=>task_is_valid( ls_task_info-task_id ) = abap_false.
                CLEAR ls_alv_messages.
                ls_alv_messages-msgid = '00'.
                ls_alv_messages-msgty = 'E'.
                ls_alv_messages-msgno = '001'.
                CONCATENATE 'Task ID' ls_task_info-task_id  'is not valid.'
                            'No task profile updates done.'
                                    INTO ls_alv_messages-message SEPARATED BY space.
                APPEND ls_alv_messages TO lt_alv_messages.
                lcl_application=>render_alv( ).
                RETURN.
              ENDIF.
              APPEND ls_task_info TO ls_task_profile-task_info.
            WHEN 'R'.  " Roles
              ls_role_id = ls_input-values.
              IF lcl_application=>role_is_valid( ls_role_id ) = abap_false.
                CLEAR ls_alv_messages.
                ls_alv_messages-msgid = '00'.
                ls_alv_messages-msgty = 'E'.
                ls_alv_messages-msgno = '001'.
                CONCATENATE 'Role ID' ls_role_id   'is not valid.'
                       

  • I need  Web based Dynamic Reporting tools

    Hi,
    I need a Web based Dynamic Reporting tool.
    I have to user oracle products and this reporting tools must support OLAP and Data Warehousing.
    thanks,

    Hi Shima,
    Let me quote from Oracle Reports website:
    "Oracle Reports is Oracle's award-winning, high-fidelity enterprise reporting tool. It enables businesses to give immediate access to information to all levels within and outside of the organization in an unrivaled scalable and secure environment. Oracle Reports consists of Oracle Reports Developer (a component of the Oracle Developer Suite) and OracleAS Reports Services (a component of the Oracle Application Server)."
    Since you need a web-based reporting tool, this is what is available with Oracle Reports:- you cannot design reports on the web, but you can use Oracle Reports Developer to design high quality reports that are suitable for viewing on the web.
    Oracle Reports support OLAP as a data source.
    From your requirements, it seems that it might be worthwhile for you to check out Oracle Discoverer which is again a powerful reporting and analysis tool. Oracle Discoverer is more suitable for ad-hoc reporting and web-based analysis of data by the end-users:
    http://www.oracle.com/technology/products/discoverer/index.html
    Navneet.

  • Free web-based Oracle administration tool

    Is there a free web-based Oracle Administration tool? Oracle SQL Developer is a free tool but not web-based. There are many web-based Shareware Oracle administration tools but I could not find a free tool. If anyone knows anything about it, please let me know.
    Thank You for your help in advance!

    Are you referring to the extra features or options provided by licensing Management Packs? (note that EE is needed before you may add the licenses)
    http://download.oracle.com/docs/cd/B19306_01/license.102/b14199/options.htm#sthref69
    http://download.oracle.com/docs/cd/B19306_01/license.102/b40010/overview.htm

  • Reccomendations for web-based data visualization tools?

    Hello again,
    I am embarking on a interesting research project that will involve recording lots of physiological signals from patient monitors in a hospital.  I will be recording signals like BP, spO2, Pulserate, ECG, etc.
    Right now, my main design concern is how to give clinicians access to the data after it is recorded.
    My wish list is:
    - Store the data securely, where access can be controlled (e.g. perhaps in a RDBMS like SQL Server)
    - Allow users (who are granted access) to login and view historical data via a simple web browser
    - Allow users to zoom, scroll, etc. 
    - Allow user to view data in stacked plots (e.g. so they can see ECG, BP and HR simultaneously on the screen and scroll the time axis)
    - Allow user to annotate data (e.g. add comments at specific timestamps)
    Anybody have any reccomendations for a web-based data visualization tool like this?
    I know that people are probably going to reccomend Diadem ... but I don't think its web-based is it?

    There is actually a new thing available called LabVIEW Web UI Builder.  This allows you develop web-based applications that have a custom GUI that can interface with other LabVIEW applications.  You can find more information on the Web UI Builder page on ni.com. There is also a dedicated forum that you can use to post questions about the Web UI Builder.  That forum is located here.  I hope that you find this helpful!
    Brandon Treece
    Applications Engineer
    National Instruments

  • BPC Mass User Management Tool in BPC 10.0 NW-Version Component Error

    Hi,
    We have a problem when importing request K900024.RBP and R900024.RBP.
    We changed the UJ_STRING in "DATA: lv_value TYPE uj_value" in the source code as recommended at BPC Mass User Management Tool in BPC 10.0 NW
    Unfortunately, when we try to import CSV files we receive a error message "BPC Version Component must be 800". Our is 801.
    Where can I find this files or its upgrades? Is there a SAP link?
    Can anybody help us?
    Best Regards,
    Ana Teresa

    Hi Ana,
    See note https://css.wdf.sap.corp/sap/support/notes/1861347.  You should solve this issue.
    Best Regards,
    Charlie

  • Third-Party User Management Tools

    I'm looking for recommendations for third-party user management tools that can do the following:
    - Identify and bulk-expire/no visibility users that are inactive for >XXX days
    - Identify users with auto-forward rules
    - Bulk-delete inactive accounts (from GW database only, not eDirectory accounts)
    - Maybe even bulk-move inactive/expired accounts to a "dead accounts" post office?
    I have an immediate mandate to clean up our environment, and I don't see how to do this in bulk with existing native tools. It's just one guy (me) versus 42 post offices and 23,000 user accounts...
    Thanks!

    You can create your own tools using the GroupWise Administrative Object API and the GroupWise Object API.
    Please refer to the Cool Solutions article I wrote ( shameless self promotion ) "Scripting GroupWise" - Scripting GroupWise | Novell User Communities for more information on the GroupWise Admin API. I suggest that you modify the script listUser.vbs to include domain name ( GWUser.PostOffice.Domain.Name ) , post office name ( GWUser.PostOffice.Name ), visibility ( GWUser.Visibility ) and last login date ( GWUser.MailboxLastLoginDate). You will need to run an audit report on each post office to update the MailboxLastLoginDate property. Import the output into Excel and sort / filter accordingly for analysis.
    Setting an expiration date ( MailboxExpDate ) and / or visibility ( Visibility ) is done by assigning values to the respective properties and using the commit method - e.g GWUser.Commit
    Identifying accounts with auto-forward rules can be using GroupWise Object to log into each account using a trusted application key. I posted ( more shameless self promotion ) some sample code to list proxy access in another thread - https://forums.novell.com/novell-pro....html#poststop. It is not too difficult to modify the code to iterate through rules and select those that include the action forward.
    Deleting is be done using the the delete method - e.g. GWuser.Delete(eadGW) where eadGW is constant with the value 1.
    I would advise against using the Administrative Object API to automate moving accounts. Best practices to avoid problems during moves involve running GWCheck against user objects until there are no errors. I perform structure, contents, contents with attclip and contents with deldupfolders checks until there are no error before moving accounts. There is also the issue of how many simultaneous moves the post office agents can handle. More accurately it is the number of simultaneous purges on the source post office that need to be monitored.
    If you need more help with coding let me know.
    Sincerely,
    Bryan Vandenberg
    Originally Posted by gregamy
    I'm looking for recommendations for third-party user management tools that can do the following:
    - Identify and bulk-expire/no visibility users that are inactive for >XXX days
    - Identify users with auto-forward rules
    - Bulk-delete inactive accounts (from GW database only, not eDirectory accounts)
    - Maybe even bulk-move inactive/expired accounts to a "dead accounts" post office?
    I have an immediate mandate to clean up our environment, and I don't see how to do this in bulk with existing native tools. It's just one guy (me) versus 42 post offices and 23,000 user accounts...
    Thanks!

  • BPC User Management Tools in different versions

    Hi all,
    I am comparing the different versions of BPC from 5.1 to 10.0 and I have the following questions about user management tools:
    1)
    How does "User Management Server" work?
    What's the difference when it is compared with "Active Directory" and "BPC NW Authorization"?
    2)
    I have summarized my understand on the availability of the user management tools in different versions of BPC but I don't know if it is correct.
    Active Directory
    Central Management Server
    BPC NW Authorization
    NetWeaver version
    N/A
    BPC 7.X, 10.0
    BPC 7.X, 10.0
    Microsoft version
    BPC 5.1, 7.X, 10.0
    BPC 7.X, 10.0
    BPC 7.X, 10.0
    Please kindly correct me if I am wrong.
    Thanks in advance!
    Winson

    Hi Winson,
    You are incorrect for BPC NW 7.5 - it uses Active Directory users...
    Vadim

  • How to design a web based leave management application  using jsf n Spring

    I'm a beginner for spring and jsf technology. I have a requirement to design web based leave management module using jsf and spring. Im confused in the design phase itself and not clearly knowing how to classify the classes. I need to understand clearly on how to do class design, and wanted to use MVC design patterns. As i know jsf itself is MVC but, as i want to use spring, i need to have some kind of model files and bean files.
    I'm clear about the following 3 classes.
    Applicant
    Approver
    Leave
    this will be like applicant will apply for leave and approvar when he logs he will see list of applied leaves and he will approve / reject the same by selecting one or more rows from datatable.
    Please guide me on designing this or gimme some link where i can read about designing java classes for web based applications.
    Thanks for your time and help.

    Please guide me on designing this or gimme some link where i can read about designing java classes for web based applications.Sure:
    http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/

  • BPC mass user management tool

    Hi
    I downloaded the  "how to user pc mass user management tool" guide and it mentions K900417.EPM transport but i didnt see them attached to the link where i downloaded the guide, where can i get this files?
    Thanks.

    Hi stefania
    Looks like link is tricky, if you download the pdf wont work, you need to activate the pdf plugin on your browser, like firefox and read pdf from there.  
    I am including the link here:
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/9007d9b9-1b9b-2d10-f985-aedb52282975
    See all this [referral document|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40e91e46-1c9b-2d10-1c87-fac75bd7b4bd]
    Hope this helps.
    Edited by: Jason Lax on Dec 28, 2011 2:49 PM (Fixed broken link, added referral document)

  • Applet-Servlet with RMI or HTTP? : for a web based network monitoring tool.

    Hi,
    I need help to make a decision to choose an implementation technique for a tool that I am creating.
    I am creating a utility to display a table of RX and TX bandwidth information in real time from a network device X
    onto a client's web browser.
    I have a JTable based applet to display bandwidth information. However I am running this as a standalone applet. I want
    to create a web based solution (applet/servlet model) to make life easier for the end user.
    As for displaying the bandwidth information, I am using Runtime.exec() function to remote execute commands using ssh/rsh.
    This not only seems to impose a lot of process and network latency overhead, but also seems impractical from a
    security point of view, hence I need a real client/server model to have efficient and secure serialized data transfer across
    the network (through HTTP etc) between the client's web browser and X.
    X has a web server running on it. It essentially is a Linux box (CentOS). I can create a JNLP definition to launch an applet
    from X onto a remote client's web browser. The real problem is: what is the most efficient way to go about the
    servlet implementation? Is it wise to use HTTP get/post? or RMI is the way to go?
    Also I'd appreciate suggestion on any different approaches than what I have in mind above.
    Thanks,
    Rajiv

    Thanks for your time, but I cannot make a front-end in C. It has to be in JSP (or in ASP but I haven't tried yet to program in VBA).
    So that is why I am asking what is the best way of attaching a JSP front-end to the given API.
    PS: Why should I code a .dll to provide a JNI interface for the api? Isn't the JNI interface capable of doing such?

  • Does the UC540 include or support a web based user portal?

    One last question because I can't find this for the life of me.  When looking at Avaya IP Office they include a web based portal that is installed on a server or on their server module for the system.  Does the UC540 include that or allow that function at all?  Basically I'm trying to find out if it includes or supports even via add on a user portal where users can log in, see their call history, listen to voice mails, possibly see who is on the phone, and if possible change their call flows from there.  So for example set that they are working from home vs the office.  Is that built in or supported or anything at all?  Thanks so much!

    The thing I'm just not clear on is what the UC540 includes, as I'm comparing it to Avaya IP Office which seems easier to understand.  A user portal isn't that big of a requirement but I'm more wondering how it works for teleworkers or mobile twinning as Avaya calls it.
    For example, one place says buy the UC540 for $1899.  Just using it as an example, lets say I was to buy that.
    Am I able to set it so that:
    1) If working remotely, calls ring on my desk and mobile at the same time, like Avaya's mobile twinning?  And if so, is it something users can enable or disable easily, either from their phone, or a web portal etc?
    2) If I am on the road, Avaya has the one-x iPhone application, where you launch it, dial a number, it calls into the Avaya PBX, and makes an outbound call showing it's my office calling.  So basically DISA.  I don't need an application for that, but does the UC540 support calling into it and dialing out so it shows the office line calling?
    3) Last and most importantly, does it include built in any ability for a softphone so that a user can work from home one day, launch the softphone on their laptop with a USB headset and then make calls and have incoming calls ring there as well?
    We use Asterisk, so we can do the above right now but it's not really pretty.  Like option 1 above is possible and easy to do.  Option 2 is so so, it's def not as easy as the one-x app by Avaya.  Instead users have to call our main line, dial a code at the IVR and then get an outbound line that shows their caller ID.  So each user needs that manually set up in the system, it's not a built in feature.  Then option 3 is possible but also not ideal as the soft phone needs its own extension and then ring groups are needed to ring their line to all their extensions etc.
    Just comparing the Avaya to Cisco and I'd REALLY prefer the Cisco it's just the Avaya seems to handle the above better which is our main features we want so just trying to determine if the UC540 can do this out of box and if not what I'd need to enable it.   Thanks!

  • E4200 Web-based User Interface having problems in Google Chrome 8 web browser

    Setting up a new E4200. My main web browser is Google Chrome (and Chrome has worked well with all of my other Linksys products, and that's a lot of products .
    The problems:
    1) The warning message that pops up (when using IE8) about changes in the Web UI breaking Cisco Connect's ability to manage the router does not appear.
    2) The "DHCP Reservation" button on 'Setup / Basic Settings' does not pop-up, making it impossible to make changes to the DHCP table in Chrome. Works fine in IE8.
    NOTE: The "DCHP Client" button on 'Status / Local Area Network' does work, so it appears that some pop-ups are working but not all. 
    NOTE: I don't customize my Google Chrome settings with regards to pop-ups and haven't seen this problem with any other site (well, except for some Oracle web applications that are years old, but those don't work in FireFox either and appear to have IE6-specific code). 
    Platform: Windows 7 Ultimate 64-bit, Google Chrome 8, E4200 firmware 1.0.0
    (Mod note: Edited for guideline compliance.)

    i use chrome and firefox but 99.8% is used on chrome. i have no issues. i do not use the cisco connect CD. it causes more harm than good. the warning is correct. you can break some things on the web based UI if you use the CD...

Maybe you are looking for