]po[ Core

(Please click on the hexagons for more information)


The core operating platform for all ]project-open[ packages.  Manage an unlimited number of projects and tasks with as many sub-levels of hierarchy as you need. Projects can be structured in any level of sub projects and "project tasks". Projects and sub projects allow to assign access permissions to project members, while "project tasks" serve to track the project advance and to log the dedication of employees.

 

User Permissions and Access Rights

The management of permissions and access rights is the most complicated element of ]project-open[ because it really is a management of trust relationships. There is a dilema between:

  • Access: Users should have access to all information and documents necessary to do their job.
  • Restriction: Users should not have access to more information then necessary to do their job.

To solve this dilemma ]project-open[ introduces three types of access permissions:

  • "User Profiles" which correspond to department membership in a company
  • "Project Roles" which correspond to the function of the user in a specific project and
  • "User Hierarchy" which corresponds to the reporting hierarchy in a company.

Each of these concepts are explained below.

User Profiles

User profiles correspond to department membership in the company or business partners respectively.

The figure above depicts the different types of User Profiles:

  • Senior Management: The management of the company with access to all corporate information
  • Project Managers: Employees with special skills to manage projects
  • Employees: Employees from several departments such as sales, operations, ...
  • Finance: Employees with access to invoices and other financial information
  • Freelancers: External users who can take part in specific projects. Freelancers have basicly no access rights outside the specific projects they take part of.
  • Clients: External users with permissions similar to Freelancers.

Please note that the groups Employees, Freelancers and Clients are mutally exclusive.

Project Roles

Project roles define access permissions to project on a case-by-case base. Project roles are particularly useful for "Freelancers" and "Clients" with normally very restricted access to the system.

Horizontal permissions

The figure above depicts a "Project B" that involves project members from both the provider and the customer side.

Project Roles can be extended and customized for a specific company. However, a number of predefined project roles exist:

  • Administrator:
    The administrator of a project can assign new users to the project and change its main characteristics. Also, the enjoys full read and write access to all associated components such as discussion forums and filestorage.
  • Member:
    A member has access to all information of a business object but is not allowed to administer the object.

]project-open[ adds several translation specific roles such as:

  • Translator
  • Editor
  • Proof Reader

 

User Hierarchy

The user hierarchy determines which user has the right to "administer" (change the password and email, ...) other users. The hierarchy consists of:

  • System Administrator
  • Senior Management
  • Employees
  • Freelancers and Customers

Being able to administer a user is particularly useful in cases where the user has forgotten his password or has otherwise problems to work with the system.

 

 

References

Related Object Types

 

Package Documentation

Procedure Files

lib/company-contacts.adp        
lib/company-contacts.tcl       company-contacts.tcl 
lib/company-employees.adp       company-contacts.tcl 
lib/company-employees.tcl       company-employees.tcl 
lib/company-info.adp       company-employees.tcl 
lib/company-info.tcl       company-info.tcl 
lib/company-projects.adp       company-info.tcl 
lib/company-projects.tcl       company-projects.tcl 
lib/project-base-data.adp       company-projects.tcl 
lib/project-base-data.tcl       The display for the project base data 
lib/project-hierarchy-new.adp       The display for the project base data 
lib/project-hierarchy-new.tcl       The display for the project base data 
lib/project-hierarchy.adp       The display for the project base data 
lib/project-hierarchy.tcl       packages//intranet-core/lib/project-hierarchy.tcl - Portlet showing Project Hierarchy - Implements project status filter for sub-projects 
lib/user-admin-info.adp       packages//intranet-core/lib/project-hierarchy.tcl - Portlet showing Project Hierarchy - Implements project status filter for sub-projects 
lib/user-admin-info.tcl       user-skin-info.tcl 
lib/user-basic-info.adp       user-skin-info.tcl 
lib/user-basic-info.tcl       user-basic-info.tcl 
lib/user-contact-info.adp       user-basic-info.tcl 
lib/user-contact-info.tcl       user-contact-info.tcl 
lib/user-localization.adp       user-contact-info.tcl 
lib/user-localization.tcl       user-skin-info.tcl 
tcl/deprecated-utilities-procs.tcl       Provides a variety of non-ACS-specific utilities that have been deprecated 
tcl/intranet-alert-procs.tcl       API for sending out email alerts for various Intranet functions 
tcl/intranet-audit-procs.tcl       Stubs for object auditing. 
tcl/intranet-backup-procs.tcl       Definitions for the intranet module 
tcl/intranet-biz-object-procs.tcl       ]project-open[specific permissions routines. 
tcl/intranet-category-procs.tcl       Functions for dealing with im_categories 
tcl/intranet-chart-procs.tcl       Functions for dealing with im_categories 
tcl/intranet-cmdline-procs.tcl       Functions for dealing with im_categories 
tcl/intranet-company-procs.tcl       Bring together all "components" (=HTML + SQL code) related to Companies. 
tcl/intranet-compat-procs.tcl       Compatibility library for a fast port of ]project-open[ (ACS 3.4 Intranet) to OpenACS 
tcl/intranet-component-procs.tcl       Procedures to deal with "Plug-ins" and "Component Bays": "Component Bays" are places in ADP-files that contain calls like: im_component_bay("right") to check if there is are plug-ins that should be displayed in this place. 
tcl/intranet-csv-procs.tcl       CSV Handling 
tcl/intranet-defs-procs.tcl       Definitions for the intranet module 
tcl/intranet-design-procs.tcl       Design related functions Code based on work from Bdoesborg@comeptitiveness.com 
tcl/intranet-ds-procs.tcl       Procedures to write out Developer Support messages 
tcl/intranet-dynview-procs.tcl       Library with auxillary routines related to DynViews (system views) 
tcl/intranet-fileutil-procs.tcl       Library with auxillary routines related to DynViews (system views) 
tcl/intranet-freelance-dummy-procs.tcl       Dummy component as a placeholder for the freelance component in the "Add Members" page. 
tcl/intranet-functional-procs.tcl       <img src="/graphics/lambda.gif" align=right ALT="Lambda"> Functional Programming in Tcl? - Absolutely! <p> This library adds the expressive power of functional languages like LISP, Gofer or Haskell to the Tcl language! <p> If you don't know what functional programming is, here's a good place to start: <ul> <li><a href="https://www.haskell.org/aboutHaskell.html">https://www.haskell.org/aboutHaskell.html</a> </ul> A general naming convention in this file is: <p> f = a function <br> x = an element <br> xs = a list of elements 
tcl/intranet-help-procs.tcl       Procedures to deal with online help and preconfiguration 
tcl/intranet-intrusion-detection-system-procs.tcl       Intrusion Detection System Implementation 
tcl/intranet-l10n-procs.tcl       Library routines to handle ]project-open[ specific localization 
tcl/intranet-menu-procs.tcl       Library with auxillary routines related to im_menus. 
tcl/intranet-navbar-procs.tcl       Define the left-hand process oriented navigation bar 
tcl/intranet-notification-procs.tcl       Library related to Notifications 
tcl/intranet-office-procs.tcl       Procedures related to offices 
tcl/intranet-permission-procs.tcl       ]project-open[specific permissions routines. 
tcl/intranet-portrait-procs.tcl       Common procedures about portraits 
tcl/intranet-profile-procs.tcl       Common procedures about portraits 
tcl/intranet-project-procs.tcl       Bring together all procedures and components (=HTML + SQL code) related to Projects. 
tcl/intranet-sencha-procs.tcl       Interface for Sencha components. 
tcl/intranet-system-procs.tcl       System (operating system) related functions. 
tcl/intranet-transform-procs.tcl       Procedures for automatic import of CSV data into ]po[. 
tcl/intranet-tree-procs.tcl       <a href="https://www.photo.net/photo/pcd4228/joshua-tree-10.4.jpg"><img WIDTH=256 HEIGHT=331 src="https://www.photo.net/photo/pcd4228/joshua-tree-10.2.jpg" align=right ALT="Joshua Tree. 
tcl/intranet-update-procs.tcl       Update procedures to deal with issues of APM upgrade. 
tcl/intranet-user-procs.tcl       Update procedures to deal with issues of APM upgrade. 
tcl/intranet-userexit-procs.tcl       Procedures to deal with "user_exits". 
tcl/intranet-util-procs.tcl       ]project-open[ utility routines. 
tcl/lang-message-procs.tcl       Additional ]po[ routines for acs-lang messages. 

Procedures

abs       returns the absolute value of x 
ad_admin_filter        
ad_chdir_and_exec       chdirs to $dir and executes the command in $arg_list. 
ad_partner_upvar        
ad_permission_grant       Grant a permission 
ad_permission_p        
ad_permission_revoke       Revoke a permission 
ad_require_permission        
ad_user_filter        
all       Takes a predicate pred and a list xs and returns 1 if all elements of xs fulfill pred. 
and       reduces a list of boolean values using && 
any       takes a predicate pred and a list xs and returns 1 if there exists an element of xs that fulfills pred 
bind       binds args to the first k arguments of the n-ary function f and returns the resulting (n-k)-ary function 
bind2nd       binds arg to the 2nd argument of f 
callback::im_office_after_update::impl::im_office_group_manager       Callback everytime after an office has been modified. 
callback::im_office_view::impl::im_office_group_manager       Callback everytime an office is viewed. 
callback::im_project_new_redirect::impl::intranet-core       Redirect to CRM opportunity entry form if package is installed 
choose       Here's how to compute 'n choose k' like a real nerd. 
compose       function composition: evaluates f (g x) 
cons       inserts x at the front of the list xs 
const       Returns a unary function that ignores its argument and constantly returns k. 
copy       returns list of n copies of x 
cr_filename_to_mime_type_disabled       given a filename, returns the mime type. 
cr_import_content_disabled       Import an uploaded file into the content repository. 
curry       Converts a function that takes one tuple as an argument into a function that takes a series of single arguments. 
cycle       returns concatenated list of n copies of xs 
database_1row_to_tcl_list       Returns the column values from one row in the database as a Tcl list. 
database_cols_to_tcl_string       to be removed. 
database_to_tcl_list       takes a query like "select product_id from foobar" and returns all the ids as a Tcl list to be removed. 
database_to_tcl_list_list       Returns a list of Tcl lists, with each sublist containing the columns returned by the database; if no rows are returned by the database, returns the empty list (empty string in Tcl 7.x and 8.x) to be removed. 
database_to_tcl_string       to be removed. 
database_to_tcl_string_or_null       to be removed. 
database_to_tcl_tree       takes a 'connect by' SQL query and returns the result as a tree 
db_html_select_value_options_multiple       Generate html option tags with values for an html selection widget. 
db_tree       Takes a 'connect by' SQL query and returns the result as a tree.<br> A tree is either just one element or a list whose first element is the root and whose subsequent elements are the subtrees of the root. 
do_dml_transactions       to be removed. 
drop       returns the remaining elements of xs (without the first n) 
drop_while       returns the remaining portion of the list 
elem_p       checks if x is contained in s 
enum_from_to       generates {lo lo+1 ... 
even_p       returns 1 if n is even and 0 otherwise 
filter       Returns all elements of the list <em>xs</em> that fulfill the predicate <em>pred</em>. 
flip       takes a binary function f and two arguments a and b and returns f b a (arguments are flipped) 
fold       Takes a binary function f, a start element e and a list {x1 x2 ...} and returns f (...(f (f (f e x1) x2) x3)...). 
fold1       Takes a binary function f and a list {x1 x2 x3 ...} and returns (...(f (f (f x1 x2) x3) x4)...). 
fst       returns the first element of a list 
gcd       returns the greatest common divisor of x and y 
get_referrer_and_query_string       to be removed. 
head       first element of a list 
id       Identity function: just returns its argument. 
im_accounting_group_id        
im_active_pm_select_multiple       returns html widget with employees having the PM role (im_projects::im_project_lead_id) in currently open projects 
im_ad_hoc_query       Ad-hoc execution of SQL-Queries. 
im_admin_category_gif       Returns a HTML widget with a link to the category administration page for the respective category_type if the user is Admin or "" otherwise. 
im_admin_group_id        
im_admin_navbar       Setup a sub-navbar with tabs for each area, highlighted depending on the local URL and enabled depending on the user permissions. 
im_admin_navbar_component       Component version of the im_admin_navbar to test the auto-extend possibilities of mktree 
im_all_letters       returns a list of all A-Z letters in uppercase 
im_all_letters_lowercase       returns a list of all A-Z letters in uppercase 
im_alpha_bar       Returns a horizontal alpha bar with links 
im_alpha_nav_bar       Returns an A-Z bar with greyed out letters not in initial_list and bolds "letter". 
im_append_list_to_ns_set       Iterates through all items in list_of_items. 
im_audit       Generic audit for all types of objects. 
im_audit_calculate_diff       Calculates the difference between and old an a new value and returns only the lines that have changed. 
im_audit_impl       Creates a new audit item for object after an update. 
im_audit_object_rels       Creates a single string for the object's relationships with other objects. 
im_audit_object_rels_sql       Returns the SQL for pulling out all relationships for an object 
im_audit_object_type_sql       Calculates the SQL statement to extract the value for an object of the given object_type. 
im_audit_object_value       Concatenates the value of all object fields (according to DynFields) to form a single string describing the object's values. 
im_audit_sweeper       Make a copy of all "active" projects 
im_backup       Receives requests from /intranet/reports, exctracts parameters and calls the right report 
im_backup_accepted_version_nr       Returns "" if the version of the import file is accepted or an error message otherwise. 
im_backup_download       Serves a specified backup file 
im_backup_path       Returns the default path for the backup sets 
im_backup_report       Execute an export backup 
im_backup_version_nr       Returns a version number 
im_bash_command       Returns the path to the BASH command shell, depending on the operating system (Windows, Linux or Solaris). 
im_biz_object_add_group_component       Component that returns a formatted HTML form allowing users to add groups to an object 
im_biz_object_add_profile_component       Component that returns a formatted HTML form allowing users to add a profile to an object 
im_biz_object_add_role       Adds a user in a role to a Business Object. 
im_biz_object_admin_ids       Returns the list of administrators of the specified object_id 
im_biz_object_admin_p       Returns >0 if the user is a PM of a project or a Key Account of a company the specified object. 
im_biz_object_admin_p_helper       Returns >0 if the user is a PM of a project or a Key Account of a company the specified object. 
im_biz_object_category_select_branch       Recursively descend the category tree. 
im_biz_object_delete_timephased_data       This routine is called after any modification of assignments or resources to tasks. 
im_biz_object_group_sweeper       Sweeper that checks if an im_biz_object_group exists for the specified object_id. 
im_biz_object_member_ids       Returns the list of members of the specified object_id 
im_biz_object_member_list_format       Formats a list of business object memberships for display. 
im_biz_object_member_p       Returns >0 if the user has some type of relationship with the specified object. 
im_biz_object_member_p_helper       Returns >0 if the user has some type of relationship with the specified object. 
im_biz_object_related_objects_component       Returns a HTML component with the list of related objects. 
im_biz_object_role_conf_item_manager        
im_biz_object_role_consultant        
im_biz_object_role_email        
im_biz_object_role_final_customer        
im_biz_object_role_full_member        
im_biz_object_role_generic        
im_biz_object_role_ids       Returns the list of "biz-object"-role IDs that the user has with the specified object.<br> 
im_biz_object_role_key_account        
im_biz_object_role_office_admin        
im_biz_object_role_project_manager        
im_biz_object_role_trainer        
im_biz_object_roles       Returns the list of "biz-object"-roles that the user has with the specified object.<br> For example, this procedure could return {Developer PM} as the roles(!) of a specific user in a project or {Key Account} for the roles in a company. 
im_biz_object_roles_select       A common drop-down box to select the available roles for users to be assigned to the object.<br> Returns an html select box named $select_name and defaulted to $default with a list of all available roles for this object. 
im_biz_object_url       Returns a URL to a page to view a specific object_id, independent of the object type. 
im_biz_object_user_rels_ids       Returns the list of acs_rel_ids that the user has with the specified object. 
im_box_footer        
im_box_header        
im_browser_is_mobile_p       Returns true if mobile browser or tablet 
im_browser_version       Extracts the browser identifcation from the User-Agent HTTP header 
im_browser_warning       Return "", or a warning string if the user is running an unsupported browser 
im_browser_warning_component       Returns a warning message for old browsers that may not display all contents correctly 
im_category_from_category       Get the category_id from a category 
im_category_from_id       Convert a category_id integer into a category name. 
im_category_get_key_value_indent_list       Extends im_category_get_key_value_list by providing ident information Returns list of lists: {category_id category_name indent_level} 
im_category_get_key_value_list        
im_category_is_a       Cached version of im_category_is_a 
im_category_is_a_helper       Returns 1 if the first category "is_a" second category. 
im_category_object_type       Returns the object_type for a category_type when it is used as a type category type like "Intranet Project Type". 
im_category_parents       Returns a list of all parents of a specific category 
im_category_parents_helper       Returns a list of all parents of a specific category 
im_category_select       Hierarchical category select: Uses the im_category_hierarchy table to determine the hierarchical structure of the category type. 
im_category_select_branch       Returns a list of html "options" displaying an options hierarchy. 
im_category_select_helper       Returns a formatted "option" widget with hierarchical contents. 
im_category_select_multiple        
im_category_select_plain        
im_check_for_update_scripts       Displays a warning to a user of the system needs to run update scripts. 
im_coalesce       Equivalent of SQL coalesce in TCL 
im_color_code       Returns color code based on pre-defined schemas WIP - add & adjust colors on a need base. 
im_column_exists       Cached version of db_column_exists 
im_company::company_options       Returns a list of company_name - company_id tuples for the given parameters. 
im_company::company_options_not_cached       Returns a list of company_name - company_id tuples for the given parameters. 
im_company::flush_cache       Remove all cache entries for debugging purposes. 
im_company::new       Creates a new company including the companies "Main Office". 
im_company_annual_rev_0_1        
im_company_annual_rev_100_        
im_company_annual_rev_10_100        
im_company_annual_rev_1_10        
im_company_contact_select       Returns an html select box named $select_name and defaulted to $default with the list of all avaiable contact persons of a given company 
im_company_contacts_component       returns a list of contacts (clients) associated with the company 
im_company_employees_component       returns a list of employees associated with the company 
im_company_find_or_create        
im_company_find_or_create_main_office        
im_company_freelance       Returns the object_id of the "Freelance" company, identifying default setting for foreelance companies. 
im_company_freelance_helper       Returns the object_id of the "Freelance" company, identifying default setting for foreelance companies. 
im_company_info_component       returns company information 
im_company_internal       Returns the object_id of the "Internal" company, identifying the organization itself.<br> This routine is used during invoicing/payments where documents can be both incoming payments (provider=Internal, company=...) or outgoing payments (provider=..., company=Internal). 
im_company_internal_helper       Returns the object_id of the "Internal" company, identifying the organization itself.<br> 
im_company_link_tr       Returns a formatted HTML component TR - TD - text - /TD - /TR containing a link to a company depending on the permissions of the current user.<br> Returns "" if the current user has no rights to see the company. 
im_company_navbar       Returns rendered HTML code for a horizontal sub-navigation bar for /intranet/companies/. 
im_company_nuke       Nuke (complete delete from the database) a company 
im_company_office_select       Returns an html select box named $select_name and defaulted to $default with the list of all avaiable offices for a company. 
im_company_options       Cost company options 
im_company_permissions       Fill the "by-reference" variables read, write and admin with the permissions of $user_id on $company_id 
im_company_projects_component       returns a list of projects associated with the company 
im_company_role_key_account        
im_company_role_member        
im_company_select       Returns an html select box named $select_name and defaulted to $default with a list of all the companies in the system. 
im_company_status_active        
im_company_status_active_or_potential        
im_company_status_declined        
im_company_status_deleted        
im_company_status_inactive        
im_company_status_inquiries        
im_company_status_potential        
im_company_status_qualifying        
im_company_status_quote_out        
im_company_status_quoting        
im_company_status_select       Returns an html select box named $select_name and defaulted to $default with a list of all the company status_types in the system 
im_company_type_customer        
im_company_type_freelance        
im_company_type_internal        
im_company_type_office_equip        
im_company_type_other        
im_company_type_partner        
im_company_type_provider        
im_company_type_select       Returns an html select box named $select_name and defaulted to $default with a list of all the project_types in the system 
im_company_type_unknown        
im_component_any_perms_set_p       Checks if any permissions at all are set for the components (this is usually not the case...) 
im_component_bay       Checks the database for Plug-ins for this page and component bay. 
im_component_box       Returns a two row table with background colors 
im_component_includelet       Parses an includelet and displays the includelet as a ]po[ portlet. 
im_component_insert       Insert a particular component. 
im_component_page       Returns a particular component, including im_box_header/footer Returns "" if the component doesn't exist or error 
im_component_page_url       Returns the "page_url" of the current page in a normalized form 
im_context_bar       Returns a Yahoo-style hierarchical navbar. 
im_context_bar_html       Generate the an html fragement for a context bar. 
im_core_privs       Returns the list of all available privileges for P/O Core. 
im_core_version       Returns the version number of the "intranet-core" package. 
im_count_chars_in_str       Counts the occurrences of char in str 
im_country_options       Return a list of lists with country_code - country_name suitable for ad_form 
im_country_select       Return a HTML widget that selects a country code from the list of global countries. 
im_country_widget       Returns a country selection box 
im_csp_nonce       Returns a CSP nonce to "sign" a script tag for CSP Content Security Policy 
im_csv_duplicate_double_quotes       This proc duplicates double quotes so that the resulting string becomes suitable to be written to a CSV file according to the Microsoft Excel CSV conventions 
im_csv_get_values       Get the values from a CSV (Comma Separated Values) file and generate an list of list of values. 
im_csv_guess_separator       Returns the separator of the comma separated file by determining the character frequency in the file 
im_csv_output_strip_option_list        
im_csv_parse_file       Splits a CVS file into a list of lists. 
im_csv_split       Splits a line from a CSV (Comma Separated Values) file into an array of values. 
im_customer_contact_options       Customer Contact options 
im_customer_group_id        
im_cvs_output_findoc_clean_cell       Removes HTML tags from cells in order to return the alphanumeric value suitable for a CSV (Excel) format 
im_cvs_output_strip_outer_tag        
im_database_version       Returns the version ID of the PostgreSQL database. 
im_date_ansi_to_epoch       Returns seconds after 1/1/1970 00:00 GMT 
im_date_ansi_to_julian       Returns julian date for a YYYY-MM-DD string. 
im_date_epoch_to_ansi       Returns ansi date for epoch 
im_date_epoch_to_julian       Returns ansi date for epoch 
im_date_epoch_to_time       Returns ansi date for epoch 
im_date_format_locale       Takes a number in "Amercian" format (decimals separated by ".") and returns a string formatted according to the current locale. 
im_date_julian_to_ansi       Returns YYYY-MM-DD for a julian date. 
im_date_julian_to_dow       Returns the Day-of-week for a julian date, similar to im_date_julian_to_components -> dow. 
im_date_julian_to_epoch       Returns seconds after 1/1/1970 00:00 GMT 
im_dateentrywidget       Replacement for ad_dateentrywidget with calendar. 
im_design_user_profile_string       Determine a pretty string for the type of user that it is: 
im_ds_comment_parameter       Write out the results of a parameter call to OpenACS Developer Support 
im_ds_comment_privilege       Write out the results of a parameter call to OpenACS Developer Support 
im_ds_display_config_info       Write out the debugging information 
im_ds_restart_with_new_request       Check if the request has changed and clear up caches before storing the stuff of the new request 
im_dynview_type_backup        
im_dynview_type_list        
im_dynview_type_view        
im_email_from_user_id        
im_email_from_user_id_helper        
im_email_people_in_group       Emails the message to all people in the group who are acting in the specified role 
im_employee_group_id        
im_employee_options       Cost provider options 
im_employee_select_multiple        
im_employee_select_optionlist        
im_employees_alpha_bar       Returns the alpha bar for employees. 
im_epoch_to_ansii       Converts a PostgreSQL epoch to an ANSI date 
im_epoch_to_ansii_helper       Helper routine for im_epoch_to_ansii 
im_exec       Wrapper for ]po[ specific logic for exec, particularly under Windows. 
im_exec_dml       Execute a DML procedure (function in PostgreSQL) without regard of the database type. 
im_exec_linux       Linux - just execute args using "exec" 
im_exec_windows       Windows spefic for exec, in order to translate to CygWin commands. 
im_exec_windows_aoldir       Returns the base directory in Windows, something like "c:/project-open" 
im_exec_windows_transform_procname       Robust routine to convert any reasonable Linux command with or without absolute pathes into a CygWin command 
im_exec_windows_transform_procname_helper       Robust routine to convert any reasonable Linux command with or without absolute pathes into a CygWin command 
im_execute_if_object_type       Execute the following code IF the specified object has the specified object subtype. 
im_feedback_add_message       Part of the implementation of user feedback, provided through a feedback bar in the GUI. 
im_feedback_set_user_messages       - Return value of this function is used to determine behaviour of feedback bar - Prioritizes runtime errors, ignores all other errors if runtime error is found - Provides 'Report this error' link in feedback message by setting sessions variables error_stacktrace, error_content_filename and error_content 
im_footer       Default ProjectOpen footer. 
im_format_address       Generates a two line address with appropriate punctuation. 
im_format_number       Pads the specified number with the specified tag 
im_format_project_duration       Write out the shortest possible string describing the length of a project 
im_freelance_group_id        
im_freelance_member_select_dummy_component       Placeholder for the im_freelance_member_select_component in the add-members.tcl page 
im_generate_auto_login       Generates a security token for auto_login 
im_generic_table_component       Takes a table name as a parameter and displays its content. 
im_get_axis       Returns the steps to display on a axis in order to make it look nice 
im_get_chart       Returns HTML Code representing a chart with the values transfered. 
im_gif       Create an <IMG ...> tag to correctly render a range of GIFs frequently used by the Intranet. 
im_gif_cleardot       Creates an &lt;IMG ... 
im_gif_navbar       Part of im_gif. 
im_gif_static       Part of im_gif. 
im_group_member_component       Returns an html formatted list of all the users in the specified group. 
im_groups_alpha_bar       Returns the alpha bar for user_groups whose parent group is as specified. 
im_hardware_id       Returns a unique ID for the hardware. 
im_header       The default header for ]project-open[.<br> You can't just replace this function by a "blank_master.ad" or similar, because this procedure is called both "stand alone" from a report pages (HTTP streaming without template!) and as part of an OpenACS template. 
im_header_emergency       A header to display for error pages that do not have access to the DB Only the parameter file is available by default. 
im_header_logout_component       Switch - Redesigning Navbar/Header for version 5 
im_header_plugins       Determines the contents for left & right header plugins. 
im_header_plugins_helper       Determines the contents for left & right header plugins. 
im_header_search_form       Search form for header of page 
im_header_users_online_str       A string to display the number of online users 
im_help_collapsible       Shows the help_html, unless the help has been collapsed. 
im_help_home_page_blurb_component       Creates a HTML table with a blurb for the "home" page. 
im_hexagon       Returns a HTML DIV with a hexagon according to specs. 
im_home_news_component       An IFrame to show ]po[ news 
im_hr_group_id        
im_html_textarea_wrap       Returns a suitable value for the <textarea wrap=$wrap> wrap value. 
im_httpget       Wrapper for system HTTP functionality 
im_httpost       Wrapper for system HTTP functionality 
im_id_from_category       Convert a category_name into a category_id. 
im_id_from_category_helper       Convert a category_name into a category_id. 
im_ids_collect_db_call       Receives events from the DB interface 
im_ids_sql_to_tables       Extracts the referenced tables of a SQL statement. 
im_import_categories       Import categories 
im_import_companies       Import the companies file 
im_import_company_members       Import the users associated with companies 
im_import_cost_centers       Import the costs file 
im_import_costs       Import the costs file 
im_import_employees       Import the employees information 
im_import_freelance_skills       Import the freelance skill database 
im_import_freelancers       Import the freelancer information 
im_import_get_category       Looks up a category or returns the default value 
im_import_get_category_helper       Performs the DB query to be cached 
im_import_get_user       Looks up an email or returns the default value 
im_import_get_user_helper       Performas the DB to looks up an email to be cached 
im_import_hours       Import timesheet hour information 
im_import_investments       Import the investments file 
im_import_invoice_items       Import the invoice_items file 
im_import_invoices       Import the invoices file 
im_import_office_members       Import the users associated with offices 
im_import_offices       Import the offices file 
im_import_payments       Import the payments file 
im_import_profiles       Import the user/profile membership 
im_import_project_invoice_map       Import the project_invoice_map file 
im_import_project_members       Import the users associated with projects 
im_import_projects       Import the projects file 
im_import_user_absences       Import the user absences file 
im_import_users       Import the user information 
im_inco_customer_group_id        
im_initials_from_user_id        
im_initials_from_user_id_helper        
im_is_user_site_wide_or_intranet_admin       Returns 1 if a user is a site-wide administrator or a member of the intranet administrative group 
im_l10n_asciiize_string       Replaces accented and characters with diaresis with standard ASCII characters. 
im_l10n_normalize_string       Normalize a string by removing non-supported characters. 
im_l10n_sql_currency_format       Returns a currency format string for the locale to be used in (Postgres) SQL queries. 
im_l10n_sql_date_format       Returns a date format string for the locale to be used in (Postgres) SQL queries. 
im_linux_distro       Tries to guess the name of the linux distro if running on Linux. 
im_linux_vmware_p       Returns 1 if the current system is the default CentOS Linux VMware. 
im_logo       Intranet System Logo 
im_mangle_accent_chars_map       Returns a hash (as array) in order to convert accented chars into non-accented equivalents 
im_mangle_unicode_accents       Returns the input string with accented characters converted into non-accented characters 
im_mangle_user_group_name       Returns the input string in lowercase and with " " being replaced by "_". 
im_maybe_insert_link       Formats prev and next links 
im_maybe_prepend_http       Prepends http to query_url unless it already starts with http:// 
im_memoize_list        
im_memoize_one       wrapper for im_memoize_list that returns the first value from the sql query. 
im_menu_admin_admin_links       Return a list of admin links to be added to the "admin" menu 
im_menu_companies_admin_links       Return a list of admin links to be added to the "companies" menu 
im_menu_id_from_label       Returns the menu_id for a menu with the specified label. 
im_menu_invoice_creation_matrix       Returns a HTML table component with links to create various types of im_invoice documents. 
im_menu_invoice_creation_matrix_sort_sources       Sorts the list of invoice types using some custom ordering. 
im_menu_invoice_creation_matrix_sort_types       Sorts the list of invoice types using some custom ordering. 
im_menu_li       Returns a <li><a href=URL>Name</a> for the menu. 
im_menu_li_helper       Returns a <li><a href=URL>Name</a> for the menu. 
im_menu_links       Return a list of links and admin links for a parent menu item: 1) menu_item_name menu_item_absolute_url 2) wrench_html menu_item_admin_url 
im_menu_name       Extracts the Name of the menu with label 
im_menu_parent_options       Returns a list of all menus, ordered and indented according to hierarchy. 
im_menu_projects_admin_links       Return a list of admin links to be added to the "projects" menu 
im_menu_ul_list       Returns all subitems of a menus as LIs, suitable to be added to index screens (costs) etc. 
im_menu_ul_list_helper       Returns all subitems of a menus as LIs, suitable to be added to index screens (costs) etc. 
im_menu_update_hierarchy       Reprocesses the menu hierarchy to calculate the right menu codes 
im_menu_url       Extracts the URL of the menu with label 
im_menu_users_admin_links       Return a list of admin links to be added to the "users" menu 
im_name_from_user_id        
im_name_from_user_id_helper        
im_navbar       Setup a top navbar with tabs for each area, highlighted depending on the local URL and enabled depending on the user permissions. 
im_navbar_doc_wiki       Link to ]po[ Wiki. 
im_navbar_gif_url       Path to access the Navigation Bar corner GIFs 
im_navbar_gif_url_helper       Path to access the Navigation Bar corner GIFs 
im_navbar_help_link       Determines where to link to www.project-open.com for help. 
im_navbar_helper       Cache helper for im_navbar 
im_navbar_main_submenu       Builds the sub-menu items for each of the main tabs in im_navbar. 
im_navbar_main_submenu_recursive       Builds menu HTML code for all sub-items of the menu_id provided. 
im_navbar_sub_tree       Creates an <ul> ...</ul> hierarchical list for the admin section 
im_navbar_tab       Creates <li> menu item 
im_navbar_tree       Creates an <ul> ...</ul> hierarchical list with all major objects in the system. 
im_navbar_tree_admin       Admin Navbar 
im_navbar_tree_collaboration       Collaboration NavBar 
im_navbar_tree_helper       Creates an <ul> ...</ul> hierarchical list with all major objects in the system. 
im_navbar_tree_human_resources       Human Resources Management 
im_navbar_tree_master_data_management       Master Data Management 
im_navbar_tree_project_management       Project Management Navbar 
im_navbar_tree_provider_management       Provider Management 
im_navbar_tree_sales_marketing       Sales & Marketing Navbar 
im_navbar_write_tree       Starts writing out the menu tree from a particular location 
im_navbar_write_tree_helper       Starts writing out the menu tree from a particular location 
im_new_object_id       Create a new project and and setup a new administration group 
im_new_project_html       Return a piece of HTML allowing a user to start a new project 
im_next_project_nr       Returns the next free project number Returns "" if there was an error calculating the number. 
im_notification_user_component       Returns a formatted HTML showing the status of notifications for the current user. 
im_numeric       Project-Open version of lc_numeric, returning "" in case of an empty string input, instead of returning a hard error. 
im_numeric_add_trailing_zeros       Add trailing "0" until the number has reached the "rounding_precision". 
im_object_assoc_component       Returns a formatted HTML component that allows associating the current object with another one via a "role". 
im_object_name       Returns cached name of object 
im_object_permission       Returns 1 (true) or 0 (false), depending whether the user has the permission on the specified object. 
im_object_super_types       Returns the list of the current object type and all of its supertypes. 
im_office::new       Creates a new office object. 
im_office_company_component       Creates a HTML table showing the table of offices related to the specified company. 
im_office_navbar       Returns rendered HTML code for a horizontal sub-navigation bar for /intranet/offices/. 
im_office_nuke       Nuke (complete delete from the database) a office 
im_office_permissions       Fill the "by-reference" variables read, write and admin with the permissions of $user_id on $office_id.<BR> The permissions depend on whether the office is a companies office or an internal office: <ul> <li>Internal Offices:<br> Are readable by all employees <li>Company Offices:<br> Need either global company access permissions or the be the Key account of the respective company. 
im_office_status_active        
im_office_status_inactive        
im_office_status_select       Returns an html select box named $select_name and defaulted to $default with a list of all the office_types in the system 
im_office_type_main        
im_office_type_sales        
im_office_type_select       Returns an html select box named $select_name and defaulted to $default with a list of all the office_types in the system 
im_office_user_component       Creates a HTML table showing the table of offices related to the specified user. 
im_openacs54_p       Is OpenACS beyond 5.1.5? The higher versions support header files. 
im_opt_val       Acts like a "$" to evaluate a variable, but returns "" if the variable is not defined, instead of an error.<BR> If no value is found, im_opt_val checks whether there is a HTTP variable with the same name, either in the URL or as part of a POST.<br> This function is useful for passing optional variables to components, if the component can't be sure that the variable exists in the callers context. 
im_options_to_select_box       Takes an "options" list (list of list, the inner containing a (category, category_id) as for formbuilder) and returns a formatted select box. 
im_package_core_id       Returns the package id of the intranet-core module 
im_package_core_id_helper        
im_package_exists_p       Returns true if the package_key exists 
im_parameter       Wrapper for im_parameter. 
im_partner_group_id        
im_performance_log       Write a log entry into the database 
im_permission       Returns true or false, depending whether the user can execute the specified action.<br> Uses a cache to reduce DB traffic. 
im_permission_flush       Cleanup the "memoize" cache for permissions. 
im_permission_helper       Cached helper for: Returns true or false, depending whether the user can execute the specified action.<br> Uses a cache to reduce DB traffic. 
im_personal_todo_component       Returns a HTML table with the list of projects, tasks, forum items etc. 
im_pm_group_id        
im_pm_select_multiple        
im_portrait_component       Show the portrait and a short bio (comments) about a user 
im_portrait_html       Return html to display portrait of the user 
im_portrait_html_helper       Return html to display portrait of the user 
im_portrait_or_anon_html        
im_portrait_user_file       Return the user's portrait file 
im_print_employee       print function for org chart 
im_profile::add_member       Add a new member to a profile. 
im_profile::flush_cache       Remove all cache entries for debugging purposes. 
im_profile::member_p       Checks if a user is member of a profile. 
im_profile::member_p_not_cached       Checks if a user is member of a profile. 
im_profile::profile_component       Returns a piece of HTML representing a multi- select box with the profiles of the user. 
im_profile::profile_id_from_name       Return the profile_id for a given profile name (as in the DB in English) or "" if the profile doesn't exist 
im_profile::profile_id_from_name_not_cached       Return the profile_id for a given profile name. 
im_profile::profile_name_from_id       Return a translated profile name for an ID. 
im_profile::profile_name_from_id_not_cached       Return the profile_id for a given profile name. 
im_profile::profile_options_all       Returns the list of all available profiles in the system. 
im_profile::profile_options_managable_for_user       Returns the list of (group_name - group_id) tupels for all profiles that a user can manage.<br> This function allows for a kind of "sub-administrators" where for example Employees are able to manage Freelancers.<BR> This list may be empty in the case of unprivileged users such as companies or freelancers. 
im_profile::profile_options_of_user       Returns a list of the profiles of the current user. 
im_profile::profiles_for_user       Returns the list of groups in which a user is a member 
im_profile::remove_member       Removes a member from a profile. 
im_profile::user_options       Returns a list of (user_id user_name) tuples for all users that are a member of the specified profiles. 
im_profile::user_options_flush_cache       Flushes the cache for user_options. 
im_profile::user_options_not_cached       Returns a list of (user_id user_name) tuples for all users that are a member of the specified profiles. 
im_profile_accounting        
im_profile_customers        
im_profile_employees        
im_profile_freelancers        
im_profile_helpdesk        
im_profile_hr_managers        
im_profile_inco_customers        
im_profile_partners        
im_profile_po_admins        
im_profile_project_managers        
im_profile_registered_users        
im_profile_sales        
im_profile_senior_managers        
im_profile_skill_profile        
im_project::new       Creates a new project. 
im_project_action_select       Returns a HTML "select" element with possible actions for projects that can be executedb by /intranet-core/www/projects/project-action.tcl 
im_project_add_member       Make a specified user a member of a (project) group 
im_project_base_data_component       returns basic project info with dynfields and hard coded Original version from ]po[ 
im_project_clone       Recursively clone projects. 
im_project_clone_base       Create the minimum information for a clone project with a new name and project_nr for unique constraint reasons. 
im_project_clone_base2       copy project structure 
im_project_clone_costs       Copy cost items and invoices. 
im_project_clone_files       Copy all files and subdirectories from parent to the new project 
im_project_clone_folders       Copy folders and folder permissions to new project 
im_project_clone_forum_topics       Copy forum topics 
im_project_clone_members       Copy projects members and administrators 
im_project_clone_payments       Copy payments 
im_project_clone_target_languages       Copy target languages and assignments 
im_project_clone_url_map       Copy projects URL Map 
im_project_gantt_main_project       Returns a Gantt bar for the project 
im_project_has_type       Returns 1 if the project is of a specific type of subtype. 
im_project_has_type_helper       Returns 1 if the project is of a specific type of subtype. 
im_project_hierarchy_component       Returns a HTML table with a hierarchical view to the specified project. 
im_project_main_project       Returns the project_id of the project's top level main project. 
im_project_manager_options       Cost provider options 
im_project_navbar       Returns rendered HTML code for a horizontal sub-navigation bar for /intranet/projects/. 
im_project_nuke       Nuke (complete delete from the database) a project. 
im_project_nuke_move_data_to_other_project       Move valuable data associated to a project/task/ticket to another project/task/ticket before nuking. 
im_project_on_track_bb       Returns a traffic light GIF from "Big Brother" (bb) in green, yellow or red 
im_project_on_track_status_green        
im_project_on_track_status_red        
im_project_on_track_status_yellow        
im_project_options       Get a list of projects 
im_project_permissions       Fill the by-reference variables read, write and admin with the permissions of $user_id on $project_id 
im_project_personal_active_projects_component       Returns a HTML table with the list of projects of the current user. 
im_project_select       Returns an html select box named $select_name and defaulted to $default with a list of all the projects in the system. 
im_project_set_customer_for_children       Sets the company_id field of sub-projects if the parent is assigned to a different customer. 
im_project_status_canceled        
im_project_status_closed        
im_project_status_declined        
im_project_status_deleted        
im_project_status_delivered        
im_project_status_invoiced        
im_project_status_open        
im_project_status_potential        
im_project_status_quoting        
im_project_status_select       Returns an html select box named $select_name and defaulted to $default with a list of all the project_types in the system 
im_project_subproject_ids       Get a list of subproject ids. 
im_project_super_project_id       Determine the Top superproject of the current project. 
im_project_template_options       Get a list of template projects 
im_project_template_select       Returns an html select box named $select_name and defaulted to $default with a list of all projects that qualify as templates. 
im_project_type_agile        
im_project_type_bt_container        
im_project_type_bt_task        
im_project_type_campaign        
im_project_type_consulting        
im_project_type_employee_evaluation        
im_project_type_gantt        
im_project_type_kanban        
im_project_type_milestone        
im_project_type_opportunity        
im_project_type_other        
im_project_type_program        
im_project_type_scrum        
im_project_type_select       Returns an html select box named $select_name and defaulted to $default with a list of all the project_types in the system 
im_project_type_service_contract        
im_project_type_service_contract_open_stack        
im_project_type_service_contract_periodic_invoicing        
im_project_type_service_contract_time_material        
im_project_type_sla        
im_project_type_software_release        
im_project_type_software_release_item        
im_project_type_task        
im_project_type_ticket        
im_project_type_ticket_container        
im_project_type_translation        
im_project_type_unknown        
im_provider_options       Cost provider options 
im_prune_org_chart       deletes all leaves where currently_employed_p is set to vacant position 
im_random_employee_component       Returns a random employee's photograph and a little bio 
im_reduce_spaces       Replaces all consecutive spaces with one 
im_registered_users_group_id        
im_render_user_id       Returns a rendered HTML component showing a user according to the viewing users permissions. 
im_render_user_id2       Returns a rendered HTML component showing a user according to the viewing users permissions. 
im_report_error       Writes an error to the connection, allowing the user to report the error. 
im_require_login       Replaced auth::require_login or ad_maybe_redirect_for_registration. 
im_return_template       Wrapper that adds page contents to header and footer<p> 040221 fraber: Should not be called anymore - should be replaced by .adp files containing the same calls... 
im_root_dir       Returns a Linux/CygWin path to the main directory of the current server. 
im_security_alert       Message sent out to the SysAdmin in case of an attempted security breach. 
im_security_alert_check_alphanum       Check of a parameter has the form of a list of alphanumeric, which includes the empty list and a single alphanumeric. 
im_security_alert_check_float       Check of a parameter has the form of an float list, which includes the empty list and a single float. 
im_security_alert_check_integer       Check of a parameter has the form of an integer list, which includes the empty list and a single integer. 
im_security_alert_check_path       Checks for a reasonable Unix path in the variable. 
im_security_alert_check_tmpnam       Check a temporary file created from ns_tmpnam if it has been tempered with. 
im_select       Formats a "select" tag. 
im_select_flatten_list       Returns a flattened list from a list of tupels 
im_select_row_range       A tcl proc curtisg wrote to return a sql query that will only contain rows firstrow - lastrow 2005-03-05 Frank Bergmann: Now extended to work with PostgreSQL 
im_selection_to_list_box       Expects selection to have a column named id and another named name. 
im_selection_to_select_box       Expects selection to have a column named id and another named name. 
im_sencha_extjs_installed_p       Returns 1 if a Senca ExtJS library is installed or 0 otherwise. 
im_sencha_extjs_load_libraries       Instructs the OpenACS pages to load the right Sencha libraries 
im_sencha_extjs_version       Returns a list with 1. 
im_send_alert       Add a new alert to the queue for a specific user. 
im_send_alert_to_system_owner        
im_show_user_style       Determine whether the current_user should be able to see the group member. 
im_skin_default        
im_skin_left_blue        
im_skin_light_green        
im_skin_roman        
im_skin_saltnpepper        
im_skin_select_html        
im_slider       Takes in the name of the field in the current menu bar and a list where the ith item is the name of the form element and the i+1st element is the actual text to display. 
im_state_widget       Returns a state selection box 
im_stylesheet       Intranet CSS style sheet. 
im_sub_categories       Takes a single category or a list of categories and returns a list of the transitive closure (all sub- categories) plus the original input categories. 
im_sub_navbar       Setup a sub-navbar with tabs for each area, highlighted depending on the local URL and enabled depending on the user permissions. 
im_sub_navbar_menu_helper       Get the list of menus in the sub-navbar for the given user. 
im_subsite_id       Caching version of ad_conn subsite_id. 
im_supervisor_select       Returns html widget with supervisors 
im_sysadmin_user_default       Determines the default system Administrator account Just takes the lowest user_id from the members of the Admin group... 
im_system_id       Retreives and/or creates a unique identification. 
im_system_id_is_valid       Checks a manually entered SID for typos 
im_system_ip_mac_address       Retreives the MAC address of the first IP interface on both Linux and Windows machines 
im_system_ip_mac_address_helper       Retreives the MAC address of the first IP interface on both Linux and Windows machines 
im_system_ip_mac_address_linux       Retreives the MAC address of the first IP interface on Linux 
im_system_ip_mac_address_windows       Retreives the MAC address of the first IP interface on Windows 
im_system_memory       Retreives the free memory on both Linux and Windows machines 
im_system_url       Returns the URL to the system, without a trailing "/" 
im_system_user       Returns the name of the user running ]po[ 
im_table_exists       Cached version of db_table_exists 
im_table_with_title       Returns a two row table with background colors 
im_tablex       Make a quick table 
im_transform_email2user_id       Email -> User_id transformation function - Attempts to identify the right user_id for the given string. 
im_transform_komma2dot       Converts "," into ".". 
im_transform_language2iso639       Transforms a Spanisch language specs into PO standard language code 
im_transform_trim       "Trim" transformation function - returns the same argument as imput just with spaces at the beginning and end cut off. 
im_unicode2html       Converts the TCL unicode characters in a string beyond 127 into HTML characters. 
im_uom_day        
im_uom_hour        
im_uom_month        
im_uom_page        
im_uom_s_line        
im_uom_s_word        
im_uom_t_line        
im_uom_t_word        
im_uom_unit        
im_uom_year        
im_update_package       Run all update scripts of a specific package 
im_upload_cvs_translate_varname       Translate German var names to English. 
im_url        
im_url_stub        
im_url_with_query       Returns the current url (or the one specified) with all queries correctly attached 
im_user_admin_info_component       returns admin information of the user 
im_user_base_info_component       Returns a formatted piece of HTML showing information about the user and it's objects. 
im_user_basic_info_component       returns basic information of the user 
im_user_biz_card_component       Returns a formatted piece of HTML showing a form allowing to enter a new user 
im_user_contact_info_component       returns contact information of the user 
im_user_create_new_user       Create a new user from scratch 
im_user_deleted_p       Returns 1 if a user has been deleted. 
im_user_direct_reports_ids       Returns a list of user_ids that are direct_reports of a particular user. 
im_user_direct_reports_options       Returns a list of (user_id user_name) tuples that are direct_reports of a particular user. 
im_user_direct_reports_options_helper       Returns a list of (user_id user_name) tuples that are direct_reports of a particular user. 
im_user_direct_reports_select       Returns an html select box named $select_name and defaulted to $default with a list of all the available project_leads in the system 
im_user_exit_call       Calls a user_exit in the filesystem. 
im_user_exit_file_path       Determines the file location of a user_exit 
im_user_exit_list       Returns a list of lists with user exits. 
im_user_group_member_p       Returns 1 if specified user is a member of the specified group. 
im_user_is_accounting_p       Returns 1 if a the user is in the Accounting group. 
im_user_is_admin_p       Returns 1 if a the user is in a customer group. 
im_user_is_customer_p       Returns 1 if a the user is in a customer group. 
im_user_is_employee_p       Returns 1 if a the user is in the employee group. 
im_user_is_freelance_p       Returns 1 if a the user is in the freelance group. 
im_user_is_hr_p       Returns 1 if a the user is in the HR Managers group. 
im_user_is_inco_customer_p       Returns 1 if a the user is in a inco customer group. 
im_user_is_pm_p       Returns 1 if a the user is in the Project Managers group. 
im_user_localization_component       returns localization info of the user 
im_user_navbar       Returns rendered HTML code for a horizontal sub-navigation bar for /intranet/users/. 
im_user_nuke       Delete a user from the database - Extremely dangerous! 
im_user_options       Returns the options for a select box. 
im_user_permissions       Fill the "by-reference" variables read, write and admin with the permissions of $current_user_id on $user_id 
im_user_registration_component       Shows the list of the last n registrations This allows to detect duplicat registrations of users with multiple emails 
im_user_select       Returns an html select box named $select_name and defaulted to $default with a list of all the available project_leads in the system 
im_user_skin       Returns the name of the current skin 
im_user_skin_helper       Returns the name of the current skin - uncached 
im_user_skin_version       Returns the name of the current skin version 
im_user_skin_version_helper       Returns the version number of the current skin - uncached 
im_user_subtypes       Returns a list of categories representing the user's subtypes. 
im_user_timesheet_absences_options       Returns the options for a drop-down box with users for the absences and timesheet_absences_ "log for user" pages. 
im_user_timesheet_absences_select       Returns an html select box named $select_name and defaulted to $default with a list of all the available options 
im_user_timesheet_hours_options       Returns the options for a drop-down box with users for the timesheet "log for user" pages. 
im_user_timesheet_hours_select       Returns an html select box named $select_name and defaulted to $default with a list of all the available options 
im_user_timesheet_view_hours_options       Returns the options for a drop-down box with users taking under consideration the following privilges: - add_hours_all_p - view_hours_all_p - view_hours_direct_reports_p Please note: As of now (160630): - function has only been used in a custom package - privilege 'view_hours_direct_reports_p' is not yet part of the product 
im_user_update_existing_user       Update an existing user and make sure he's member of all relevant tables 
im_valid_auto_login_p       Verifies the auto_login in auto-login variables 
im_verify_form_variables       The intranet standard way to verify arguments. 
im_view_id_from_name       Returns the view_id for given name 
im_view_user_permission       Check wheter a user should be able to see a specific field of another user: Return 1 IF: - EITHER you have associated the $perm_token permission - OR you are the user himself (view_user == current_user) Return 0 IF: - if the above doesn't hold for your OR: - The variable $var_value is empty (don't show lines with empty variables) 
im_wheel_group_id        
im_yes_no_table       Returns a 2 column table with 2 actions - one for yes and one for no. 
in_project_on_track_bb       Compatibility 
init       all elements of a list but the last 
iterate       Returns {x (f x) (f (f x) (f (f (f x))) ...}. 
lambda       The lambda function - one of the foundations of functional programming - defines an anonymous proc and returns it. 
lang::message::register_remote       <p> Submits the translation to the translation server. 
last       last element of a list 
lcm       returns the least common multiple of x and y 
leap_year_p       to be removed. 
lmax       returns the maximum element of the list xs 
lmin       returns the minimum element of the list xs 
map       Takes a function f and a list { x1 x2 x3 ...}, applies the function on each element of the list and returns the result, i.e. 
merge_form_with_ns_set       to be removed. 
mul       multiplies n with a fraction (given as a tuple) 
multirow_sort_tree       multirow_sort_tree sorts a multirow with a tree structure to make displaying it easy. 
nmc_GetNewIDNumber       to be removed. 
nmc_IllustraDatetoPrettyDate       to be removed. 
not_elem_p       checks if x is not contained in s 
nub       removes duplicates from xs 
null_p       checks if xs is the empty list 
num_days_in_month       Returns the number of days in a given month. 
odd_p       returns 1 if n is odd and 0 otherwise 
or       reduces a list of boolean values using || 
pascal       prints Pascal's triangle 
philg_dateentrywidget        
philg_dateentrywidget_default_to_today        
post_args_to_query_string       to be removed. 
product       returns the product of the elements of the list xs 
products       returns the list of partial products of the list xs 
qsort       sorts a sequence with the quicksort algorithm 
remove_whitespace       to be removed. 
reverse       reverses the list xs 
scanl       takes a binary function f, a start element e and a list {x1 x2 ...} and returns {e (f e x1) (f (f e x1) x2) ...} 
scanl1       takes a binary function f and a list {x1 x2 x3 ...} and returns {x1 (f x1 x2) (f (f x1 x2) x3) ...} 
set_csv_variables_after_query       You can call this after an ns_db getrow or ns_db 1row to set local Tcl variables to values from the database. 
set_variables_after_query_disabled       to be removed. 
set_variables_after_query_not_selection_disabled       to be removed. 
set_variables_after_subquery_disabled       to be removed. 
snd       returns the second element of a list 
sortable_table       to be removed. 
sortable_table_new_sort_order       to be removed. 
span       splits a list using take_while and drop_while 
split_at       splits a list using take and drop 
string_contains_p       Returns 1 if the BIG_STRING contains the SMALL_STRING, 0 otherwise; syntactic sugar for string first != -1 to be removed. 
sum       returns the sum of the elements of the list xs 
sums       returns the list of partial sums of the list xs 
tail       all elements of a list but the first 
take       returns the first n elements of xs 
take_until       returns the list of elements upto and including the first element of xs which satisfies p 
take_while       returns the longest initial segment of xs whose elements satisfy p 
template::widget::im_category_tree       Category Tree Widget 
template::widget::im_checkbox       Render a checkbox input widget. 
textdate_to_ansi       Reformats textdate from the users locale to the iso standard YYYY-MM-DD adaption of template::data::transform::textdate 
thd       returns the third element of a list 
transpose       tranposes a matrix (a list of lists) 
tree_group       Divides a list into groups. 
tree_height       returns the height of a tree 
tree_level       returns the n-th level of a tree (where 0 is the root tree) as a list of trees 
tree_list_get_all_childs       Walks up a tree represented as an list of parent/child relationships and returns a list of all parent nodes. 
tree_list_get_all_parents       Walks up a tree represented as an list of parent/child relationships and returns a list of all parent nodes. 
tree_list_get_direct_childs       Walks up a tree represented as an list of parent/child relationships and returns a list of all parent nodes. 
tree_list_get_direct_parent       Walks up a tree represented as an list of parent/child relationships and returns a list of all parent nodes. 
tree_make       Generates a tree from a level sequence that was returned by a 'connect by' SQL query. 
tree_map       applies a function to each element of a tree 
tree_print       prints a tree 
tree_to_horizontal_table       Generates a table display of the given tree; root on left side like in the <a href="/intranet/employees/org-chart">org chart</a>. 
tree_to_htable       auxiliary function of <i>tree_to_horizontal_table</i> 
tree_to_table       Generates a table display of the given tree (with the root on top). 
tree_width       returns the width of a tree 
uncurry       Converts a function that takes a series of single arguments into a function that takes one tuple as an argument. 
unlist       this procedure takes a list and any number of variable names in the caller's environment, and sets the variables to successive elements from the list: unlist {scrambled corned buttered} eggs beef toast # $eggs = scrambled # $beef = corned # $toast = buttered 
unzip       unzip takes a list of tuples {x1 y1} {x2 y2} {x3 y3} ... 
user_nuke       Alias for im_user_nuke. 
user_permissions       Helper being called when calling dynamic permissions for objects (im_biz_objects...).<br> This procedure is identical to im_user_permissions. 
util_PrettySex       to be removed. 
util_PrettySexManWoman       to be removed. 
util_aolserver_2_p       to be removed. 
util_just_the_digits       to be removed. 
util_prepare_insert       to be removed. 
util_prepare_update       to be removed. 
util_prepare_update_multi_key       to be removed. 
validate_textdate       Validate that a submitted textdate if properly formatted. 
var_contains_quotes        
with_transaction       to be removed. 
zip       takes two lists {x1 x2 x3 ...} and {y1 y2 y3 ...} and returns a list of tuples {x1 y1} {x2 y2} {x3 y3} ... 
zip_with       takes two lists {x1 x2 x3 ...} and {y1 y2 y3 ...} and returns the list {(f x1 y1) (f x2 y2) (f x3 y3) ... 

SQL Files

sql/common/intranet-biz-objects.sql        
sql/common/intranet-categories.sql        
sql/common/intranet-core-backup.sql        
sql/common/intranet-country-codes.sql        
sql/common/intranet-currency-codes.sql        
sql/common/intranet-views.sql        
sql/postgresql/intranet-audit-create.sql        
sql/postgresql/intranet-biz-objects.sql        
sql/postgresql/intranet-categories.sql        
sql/postgresql/intranet-companies.sql        
sql/postgresql/intranet-components.sql        
sql/postgresql/intranet-core-create.sql        
sql/postgresql/intranet-core-drop.sql        
sql/postgresql/intranet-country-codes.sql        
sql/postgresql/intranet-currency-codes.sql        
sql/postgresql/intranet-defs.sql        
sql/postgresql/intranet-menus.sql        
sql/postgresql/intranet-notifications.sql        
sql/postgresql/intranet-offices.sql        
sql/postgresql/intranet-openacs-patches.sql        
sql/postgresql/intranet-performance-log.sql        
sql/postgresql/intranet-permissions.sql        
sql/postgresql/intranet-projects.sql        
sql/postgresql/intranet-users.sql        
sql/postgresql/intranet-views.sql        
sql/postgresql/pgdump-views.sql        
sql/postgresql/upgrade/upgrade-5.0.3.0.2-5.0.3.0.3.sql        
sql/postgresql/upgrade/upgrade-5.0.3.0.3-5.0.3.0.4.sql        
sql/postgresql/upgrade/upgrade-5.0.3.0.4-5.0.3.0.5.sql        
sql/postgresql/upgrade/upgrade-5.0.4.0.0-5.0.4.0.1.sql        
sql/postgresql/upgrade/upgrade-5.0.4.0.1-5.0.4.0.2.sql        
sql/postgresql/upgrade/upgrade-5.0.4.0.2-5.0.4.0.3.sql        
sql/postgresql/upgrade/upgrade-5.0.4.0.3-5.0.4.0.4.sql        
sql/postgresql/upgrade/upgrade-5.0.4.0.4-5.1.0.0.0.sql        

Content Pages

www/
     admin/
           auto_login.tcl Calculates the "auto_login" (hashed user_id + password) for a user.
          backup/
                backup-2.tcl Changes all clients, users, prices etc to allow to convert a productive system into a demo.
                backup.adp
                backup.tcl Changes all clients, users, prices etc to allow to convert a productive system into a demo.
                bzip-pgdump.tcl
                comment-delete.tcl
                comment-pgdump-2.tcl
                comment-pgdump.adp
                comment-pgdump.tcl
                delete-pgdump.tcl
                index.adp
                index.tcl Show the permissions for all menus in the system
                last-backup.sql.bz2.pgp.tcl Shows the last ".pgp" backup file in the backup directory in the filestorage.
                pg_dump.tcl Performs a PostgreSQL pg_dump command to backup all data to a .sql file
                restore-2.adp
                restore-2.tcl Changes all clients, users, prices etc to allow to convert a productive system into a demo.
                restore-pgdmp.tcl Takes a database dump and loads the dump into the database.
                restore.adp
                restore.tcl Go through all know backup "reports" and try to load the corresponding backup file from the specified directory.
                restore_set.tcl Show the permissions for all menus in the system
                unbzip-pgdump.tcl
                upload-pgdump-2.adp
                upload-pgdump-2.tcl Upload the file and store in the backup file storage
                upload-pgdump.adp
                upload-pgdump.tcl Upload a backup file into ~/filestorage/backup
          benchmarks/
                insert-benchmark.adp
                insert-benchmark.tcl Benchmark inserting rows into a temporary table
                tcl-loop-benchmark.adp
                tcl-loop-benchmark.tcl Benchmark inserting rows into a temporary table
          cache/
                cache-entries.adp
                cache-entries.tcl Lists memoized data and gives options to view data or flush data
                flush-cache.tcl Flush one or more values from util_memoize's cache
                flush.tcl Flush one or more values from util_memoize's cache
                index.adp
                index.tcl
          categories/
                batch-import-2.tcl Batch import multiple categories
                batch-import.adp
                batch-import.tcl Batch import multiple categories
                category-add-2.tcl Inserts a new category.
                category-add.tcl Inserts a new category.
                category-nuke-2.tcl Actually nukes a category.
                category-nuke.adp
                category-nuke.tcl Confirmation page for nuking a category.
                category-update.tcl Updates the properties of an existing category.
                index.adp
                index.tcl Home page for category administration.
                one-type.tcl Displays all categories of one category type, if category_type form var is supplied.
                one.adp
                one.tcl Displays and edits the properties of one category.
                toggle.tcl Enable / Disable "Menus"
          cleanup-audits/
                delete-audits.tcl Delete big tables in the DB
                index.adp
                index.tcl Cleanup big tables in the DB
                vacuum-table.tcl Delete big tables in the DB
          cleanup-demo/
                cleanup-companies-2.tcl Install packages - dependency check
                cleanup-companies.adp
                cleanup-companies.tcl Show all the views
                cleanup-demo-data-2.adp
                cleanup-demo-data-2.tcl Delete all demo data in the system in order to prepare for production rollout
                cleanup-demo-data.adp
                cleanup-demo-data.tcl Home page for category administration.
                cleanup-offices-2.tcl Nuke Offices
                cleanup-offices.adp
                cleanup-offices.tcl Duke demo offices
                cleanup-orphan-tasks.adp
                cleanup-orphan-tasks.tcl Show all the views
                cleanup-projects-2.tcl Install packages - dependency check
                cleanup-projects.adp
                cleanup-projects.tcl Show all the views
                cleanup-tasks-2.tcl Install packages - dependency check
                cleanup-users-2.tcl Install packages - dependency check
                cleanup-users.adp
                cleanup-users.tcl Show all the views
                index.adp
                index.tcl Home page for category administration.
          components/
                edit-2.tcl Saves changes in given component-plugin.
                edit.adp
                edit.tcl Displays and edits the location of one component plugins.
                index.adp
                index.tcl Home page for component administration.
           consistency-check.tcl Performs a number of sql queries in order to check for some know misconfiguration issues.
           delete-group.tcl Tries to delete a group
           empty.adp
           empty.tcl List all projects with dimensional sliders.
           flush_cache.tcl Flush the permissions cache after adding or removing privileges from a user.
           host.adp
           host.tcl Shows everything we know about a specific IP
           index.adp
           index.tcl Home page for category administration.
           install-upgrade-scripts.tcl Run upgrade scripts.
           linux-to-windows-2.tcl Convert some parameters values from Windows to Linux
           linux-to-windows.adp
           linux-to-windows.tcl Convert some parameters values from Windows to Linux
          ltc-import/
                index.adp
                index.tcl Home page for LTC-Organiser Import
                ltc-convert-2.adp
                ltc-convert-2.tcl Check that the LTC-Organiser tables are present in the curent database
                ltc-convert.adp
                ltc-convert.tcl Check that the LTC-Organiser tables are present in the curent database
           master.adp
           master.tcl
          menus/
                index.adp
                index.tcl Show the permissions for all menus in the system
                menu-action.tcl Delete selected menus
                new.adp
                new.tcl Create a new dynamic value or edit an existing one.
                toggle.tcl Enable / Disable "Menus"
           nsstats.tcl
           object-type-admin.tcl Redirect to admin pages for certain object types.
           packages.tgz.tcl Return a gziped TAR of the ~/packages/ directory
          parameters/
                index.adp
                index.tcl Home page for parameter administration.
          permissions/
                one.adp
                one.tcl Modify basic read/write/create/admin permissions for an arbitrary object.
                perm-include.adp
                perm-include.tcl
          profiles/
                delete-2.adp
                delete-2.tcl Adds a new profile
                delete.adp
                delete.tcl Adds a new profile
                index.adp
                index.tcl Permissions for the subsite itself.
                new.adp
                new.tcl Adds a new profile
           toggle-enabled.tcl Enable/Disable portlets or menus.
           toggle-privilege.tcl Add or remove "Menu" permissions<br> (permissions for members of one group to manage the members of another group).
           toggle.tcl Add or remove "Menu" permissions<br> (permissions for members of one group to manage the members of another group).
           ttt.tcl
          user_exits/
                index.adp
                index.tcl
                invoke.adp
                invoke.tcl
          user_matrix/
                index.adp
                index.tcl Shows all groups on the left hand side with the management privileges of the groups on the top
                one.adp
                one.tcl Permissions for the subsite itself.
          views/
                del-column.tcl Create a new view or edit an existing one.
                del.tcl Create a new view or edit an existing one.
                index.adp
                index.tcl Show all the views
                new-column.adp
                new-column.tcl Create a new view or edit an existing one.
                new.adp
                new.tcl Create a new view or edit an existing one.
           windows-to-linux-2.tcl Convert some parameters values from Windows to Linux
           windows-to-linux.adp
           windows-to-linux.tcl Convert some parameters values from Windows to Linux
      anonymize.tcl Changes all clients, users, prices etc to allow to convert a productive system into a demo.
      auto-login-token.tcl Provide the user with cookies and a login token
      auto-login.tcl Purpose: login & redirect a user, based on a "auto_login" field that contains the information about the user's password in a sha1 HASH.
      biz-object-tree-open-close.tcl Open/Close the branches of a business object tree.
      biz-object-type-select.adp
      biz-object-type-select.tcl We get redirected here from any object's "New" page if there are DynFields per object subtype and no type is specified.
     companies/
           accounting-contact-2.tcl Writes company's accounting contact to the db
           accounting-contact-delete.tcl Removes company's accounting contact
           accounting-contact-users-2.tcl Allows you to have a accounting contact that references the users table.
           accounting-contact-users.tcl Allows you to have a accounting contact that references the users table.
           accounting-contact.adp
           accounting-contact.tcl Lets you select a accounting contact from users assigned to this group
           company-offices.xml.adp
           company-offices.xml.tcl
           dashboard.adp
           dashboard.tcl Ticket Dashboard
           index.adp
           index.tcl Shows all companies.
           new-2.tcl Writes all the company information to the db.
           new-company-from-user.tcl Creates and updates a company for a specific user (Freelance or Customer).
           new.adp
           new.tcl Lets users add/modify information about our companies.
           nuke-2.adp
           nuke-2.tcl Remove a user from the system completely
           nuke.adp
           nuke.tcl Try to remove a user completely
           primary-contact-2.tcl Writes company's primary contact to the db
           primary-contact-delete.tcl Removes company's primary contact
           primary-contact-users-2.tcl Allows you to have a primary contact that references the users table.
           primary-contact-users.adp
           primary-contact-users.tcl Allows you to have a primary contact that references the users table.
           primary-contact.adp
           primary-contact.tcl Lets you select a primary contact from users assigned to this group
           upload-companies-2.tcl Read a .csv-file with header titles exactly matching the data model and insert the data into "users" and "acs_rels".
           upload-companies.adp
           upload-companies.tcl Serve the user a form to upload a new file or URL
           view.adp
           view.tcl View all info regarding one company
     components/
           activate-component.tcl Implements component actions such as open/close and movements in directions up, down, left and right.
           add-stuff-2.tcl Implements component actions such as open/close and movements in directions up, down, left and right.
           add-stuff.adp
           add-stuff.tcl Home page for component administration.
           ajax-component-value.tcl Return the value of a portlet for AJAX functions.
           component-action.tcl Implements component actions such as open/close and movements in directions up, down, left and right.
           generic-table-component.adp
           generic-table-component.tcl
           xowiki-component.adp
           xowiki-component.tcl
      help.adp
      help.tcl P/O Main Help Page.
     help/
           index.tcl Empty redirection index.tcl file
      index.adp
      index.tcl Home Page
     js/
          smartmenus/
                LICENSE-MIT
                README.md
      list-of-tcl-pages.adp
      list-of-tcl-pages.tcl Shows the list of all TCL and ADP pages in the system.
      master-data.adp
      master-data.tcl Master Data Page
      master.adp
      master.tcl
      member-add-2.adp
      member-add-2.tcl Purpose: Confirms adding of person to group
      member-add.adp
      member-add.tcl Presents a search form to find a user to add to a group.
      member-notify.tcl Sends an email with an attachment to a user
      member-remove-2.tcl Replicates functionality of /www/groups/member-remove-2.tcl but is less stringent on permissions (i.e.
      member-update.tcl Allows to delete project members and to update their time/cost estimates for this project.
     notifications/
           user-notifications.adp
           user-notifications.tcl
     offices/
           ajax-offices.tcl Returns a komma separated key-value list of offices per company.
           index.adp
           index.tcl Shows all offices.
           link-delete.tcl Deletes a link
           new-2.tcl Writes all the office information to the db.
           new.adp
           new.tcl Lets users add/modify information about our offices.
           view.adp
           view.tcl Display information about one office
      openacs-590-591.diff
      po-master.adp
      po-master.tcl
      printer-friendly-master.adp
      project-hierarchy-action.tcl Action for ProjectHierarchyPortlet
     projects/
           add-tasks-from-template-2.adp
           add-tasks-from-template-2.tcl Purpose: Create a copy of an existing project
           add-tasks-from-template.adp
           add-tasks-from-template.tcl Add tasks from a template
           clone-2.adp
           clone-2.tcl Purpose: Create a copy of an existing project
           clone.adp
           clone.tcl Purpose: Create a copy of an existing project
           dashboard.adp
           dashboard.tcl Project Dashboard
           index.adp
           index.tcl List all projects with dimensional sliders.
           new-custselect.adp
           new-custselect.tcl Determine the customer for a project, if it wasn't defined before.
           new-from-template-2.adp
           new-from-template-2.tcl Purpose: Create a copy of an existing project
           new-from-template.adp
           new-from-template.tcl Purpose: Create a copy of an existing project
           new.adp
           new.tcl Purpose: form to add a new project or edit an existing one
           nuke-2.adp
           nuke-2.tcl Remove a user from the system completely
           nuke.adp
           nuke.tcl Try to remove a user completely
           project-action-shift-2.tcl Shift the project forward or backward in time
           project-action-shift.adp
           project-action-shift.tcl Move a project back or forth in time
           project-action.tcl Action for ProjectHierarchyPortlet
           project-type-select.adp
           project-type-select.tcl We get redirected here from any object's "New" page if there are DynFields per object subtype and no type is specified.
           upload-projects-2.tcl Read a .csv-file with header titles exactly matching the data model and insert the data into "im_projects" and "im_timesheet_tasks" tables.
           upload-projects.adp
           upload-projects.tcl Serve the user a form to upload a new file or URL
           view.adp
           view.tcl View all the info about a specific project.
           xmlhttp-find-project.tcl Returns a komma separated key-value list of offices per company.
      related-objects-component.adp
      related-objects-component.tcl
      related-objects-delete.tcl Delete rel_ids from im_object_object_rel
      report-bug-on-page.adp
      report-bug-on-page.tcl Prepare to send out an error report
      report-error.tcl Get err attributes from session vars if not passed
     search/
           go-search.tcl Purpose: Standard form to search for a user
     testing/
           redirect.tcl Test the redirect function.
           ttt.tcl List all projects with dimensional sliders.
      user-search.adp
      user-search.tcl Reusable page for searching the users table.
     users/
           ajax-company-contacts.tcl Returns a komma separated key-value list of company contacts company.
           base-info-component.adp
           base-info-component.tcl
           become.tcl Let authorized users become any user.
           biz-card-add-2.adp
           biz-card-add-2.tcl Search page for existing contacts.
           biz-card-add-3.adp
           biz-card-add-3.tcl
           biz-card-add.adp
           biz-card-add.tcl
           contact-edit-2.tcl
           contact-edit.adp
           contact-edit.tcl
           contacts.csv
           dashboard.adp
           dashboard.tcl Ticket Dashboard
           edit-locale.adp
           edit-locale.tcl Localization home
           index.adp
           index.tcl Shows all users.
           member-state-change.adp
           member-state-change.tcl Changes the member state of a user
           new.adp
           new.tcl Adding a user
           nuke-2.adp
           nuke-2.tcl Remove a user from the system completely
           nuke.adp
           nuke.tcl Try to remove a user completely
           password-update-2.tcl
           password-update.adp
           password-update.tcl
          portrait/
                comment-edit-2.tcl writes portrait comment to database
                comment-edit.adp
                comment-edit.tcl screen to edit the comment associated with a user's portrait
                erase-2.tcl erase's a user's portrait (NULLs out columns in the database) the key here is to null out live_revision, which is used by pages to determine portrait existence
                erase.adp
                erase.tcl Erases a portrait
                upload-2.tcl insert a file into the file system
                upload.adp
                upload.tcl Uploading user portraits
           profile-update.adp
           profile-update.tcl
           select-skin.tcl
           upload-contacts-2.tcl /intranet/companies/upload-contacts-2.tcl Read a .csv-file with header titles exactly matching the data model and insert the data into "users" and "acs_rels".
           upload-contacts.adp
           upload-contacts.tcl Serve the user a form to upload a new file or URL
           upload-users-2.adp
           upload-users-2.tcl
           upload-users-3.adp
           upload-users-3.tcl Expects assignments "Import Columns --> DB fields" Performs import/update of user data
           upload-users.adp
           upload-users.tcl Serve the user a form to upload a new file
           user-add-2.adp
           user-add-2.tcl Processes a new user created by an admin
           user-add-3.adp
           user-add-3.tcl Sends email confirmation to user after they've been created
           view.adp
           view.tcl Display information about one user (makes heavy use of procedures in /tcl/ad-user-contributions-summary.tcl)
      whos-online.adp
      whos-online.tcl Displays who's currently online
      xowiki-template.adp
      xowiki-template.tcl
 

 

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)

Spain

 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com