This packages allows for the storing of customer contact information and further integration of these contacts throughout ]project-open[ in CRM sensitive situations. Controls and manages storage of address information for customers, employees and their companies. Structured discussion forums (discussions, news, tasks, incidents) can be associated to specific projects and customers, concentrating all activity related to customer acquisition and management during the customer life cycle.
(Please click on the hexagons for more information)
The ]po[ Contacts package has not been "productized" yet and therefore it is not yet part of the official ]po[ distribution. However, it's already used internally by ]project-open[ Core Team and offers as of 04/2010 the following functionality.
The screen cast below shows the scope of the current implementation:
It is planned to extend the package to further support typical CRM tasks so that an integration with external CRM tools becomes obsolete.
Please get in touch with us if you are interested in sponsoring this efforts.
Note: See CRM Module on how to manage your sales pipeline using V3.4
Related Object Types
Related Modules
callback::acs_mail_lite::incoming_email::impl::contacts_group_mail Implementation of group support for incoming emails If the to address matches an address stored with a group then send out the email to all group members callback::acs_mail_lite::incoming_email::impl::contacts_mail_through Implementation of mail through support for incoming emails You can send an e-amil through the system by sending it to user#target.com@yoursite.com The email will be send from your system and if mail tracking is installed the e-mail will be tracked. callback::contact::after_instantiate::contract callback::contact::append_attribute::contract callback::contact::contact_form::contract Form when adding a new contact. callback::contact::contact_form::impl::contacts_locale add locale form element for persons callback::contact::contact_form_after_submit::contract After the contact-edit and/or contact-add form have been completely submitted, and data has been flushed you can do something for your site. callback::contact::contact_form_validate::contract callback::contact::contact_rels::contract This callback is executed in the relationship add page. callback::contact::employee_new::contract This callback will be executed once an employee has been created. callback::contact::envelope::contract You can request one of: 1. callback::contact::envelope::impl::envelope10 callback::contact::history::contract callback::contact::label::contract You can request one of: 1. callback::contact::label::impl::avery5160 callback::contact::label::impl::brother callback::contact::organization_new::contract callback::contact::organization_new_group::contract This is a callback that is executed when you add a new organization to a group. callback::contact::organization_new_rel::contract This is a callback that is executed when you add a new organization in a relationship. callback::contact::person_add::contract callback::contact::person_new_group::contract This is a callback that is executed when you add a new person to a group. callback::contact::person_new_rel::contract This is a callback that is executed when you add a new person in a relationship to an organization. callback::contact::search::query_clauses::contract This callback is executed by the contact::search::query_clause and allows a site to customize the behavior or the entered query string in the primary contacts search box it should return a list of conditions. callback::contact::special_attributes::ad_form_save::contract This callback is executed first in the new_data or edit_data ad_from blocks when creating or saving a contacts information callback::contact::special_attributes::ad_form_save::impl::contacts callback::contact::special_attributes::ad_form_save::impl::contacts_locale set locale for a new party callback::contact::special_attributes::ad_form_values::contract This callback is executed last in the edit_request ad_form block of editing a contact callback::contact::special_attributes::ad_form_values::impl::contacts callback::contacts::bulk_actions::contract callback::contacts::email_subject::contract callback::contacts::extensions::contract callback::contacts::extensions::impl::attributes callback::contacts::extensions::impl::groups callback::contacts::extensions::impl::privacy callback::contacts::extensions::impl::relationships callback::contacts::merge::contract This callback is executed when merging two contacts. callback::contacts::multirow::extend::contract callback::contacts::multirow::extend::impl::attributes callback::contacts::multirow::extend::impl::groups callback::contacts::multirow::extend::impl::privacy callback::contacts::multirow::extend::impl::relationships callback::contacts::package_instantiate::contract After instantiate callback callback::contacts::redirect::contract This callback is executed by /package/contacts/index.vuh. callback::contacts::redirect::impl::contactspdfs redirect the contact to the correct pdf stuff callback::dotlrn_community::add_members::impl::contacts_employees Callback to add the employees of an organization to the club as members callback::fs::folder_chunk::add_bulk_actions::impl::contacts Callback to add a bulk action for sending a mail to the contact with the files attached that are mapped in the folder view If you have an organization, all persons related to it will be added to the mail sending as well. callback::pm::project_edit::impl::contacts map selected organization to updated project callback::pm::project_new::impl::contacts map selected organization to new project contact::complaint::check_name Check if the name you are giving to the complaint already exists, if it does returns 1 otherwise returns 0 contact::complaint::new Inserts a new complaint. contact::email this returns the contact's name. contact::email_not_cached this returns the contact's name contact::employee::direct_phone # Return the directphone of the employee contact::employee::get Get full employee information. contact::employee::get_not_cached contact::exists_p does this contact exist? contact::extend::delete Deletes one contact extend option contact::extend::get_options Returns a list of the form { pretty_name extend_id } of all available extend options in contact_extend_options, if search_id is passed then ignore the extends in contact_search_extend_map contact::extend::new Creates a new contact extend option contact::extend::option_info Returns a list of the form { var_name pretty_name subquery description aggregated_p } of the extend_id contact::extend::update Updates one contact extend option contact::extend::var_name_check Checks if the name is already present on the contact_extend_options table or not contact::flush Flush memorized information related to this contact contact::group::add_member Adds a user to a group, checking that the rel_type is permissible given the user's privileges, Can default both the rel_type and the member_state to their relevant values. contact::group::map this creates a new group for use with contacts (and the permissions system) contact::group::mapped_p this creates a new group for use with contacts (and the permissions system) contact::group::name Get the group name for contacts (this might be a dotlrn community name or a group title) contact::group::new this creates a new group for use with contacts (and the permissions system) contact::group::notifications_p Does this group use notifications (if one contacts instance does then all do, since the group is not bound to the contacts instance) contact::group::parent returns the group_id for which this group is a component, if none then it return null contact::groups Return the groups that are mapped in contacts THIS ONLY WORKS FOR PERSONS CORRECTLY AT THIS POINT IN TIME! contact::groups_list Retrieve a list of all groups currently in the system contact::groups_list_not_cached Retrieve a list of all groups currently in the system contact::link this returns the contact's name. contact::list::delete contact::list::exists_p contact::list::member_add Add a party to a list contact::list::member_delete Delete a party from a list contact::list::member_p Add a party to a list contact::list::new create a contact list contact::live_revision create a contact revision contact::message::email_address Does a message email address exist for this party contact::message::email_address_exists_p Does a message email address exist for this party or his/her employer. contact::message::email_address_not_cached Does a message email address exist for this party contact::message::get Get the info on a contact message contact::message::interpolate Interpolates a set of values into a string. contact::message::log Logs a message into contact_message_log table. contact::message::mailing_address Returns a parties mailing address. contact::message::mailing_address_attribute_id_priority Returns the order of priority of attribute_ids for the letter mailing address. contact::message::mailing_address_attribute_id_priority_not_cached Returns the order of priority of attribute_ids for the letter mailing address contact::message::mailing_address_exists_p Does a mailing address exist for this party. contact::message::mailing_address_not_cached Returns a parties mailing address contact::message::save save a contact message contact::name this returns the contact's name. contact::name_not_cached this returns the contact's name contact::oo::change_content Takes the provided contents and places them in the content.xml file of the sxw file, effectivly changing the content of the file. contact::oo::convert Returns a string which we can insert into the content.xml file This is a replacement procedure which should hopefully deal with at least the breaks links and paragraphs. contact::oo::convert_to_pdf_file_using_jooconverter Converts a source (file or data) into PDF using the function contact::oo::convert_to_pdf_using_jooconverter (please read the documentation there) and saves the result to a file named as specified in destination_file.<br> <br> A simple example:<br> contact::oo::convert_to_pdf_file_using_jooconverter -source_type TXT -source_data "Hello world!" -destination_file "/home/exampleuser/test.pdf"<br> will convert the given text "Hello world!" into a PDF file test.pdf in /home/exampleuser/ using the default webservice_url.<br> <br> Returns 0 (FALSE) on an error and 1 (TRUE) on success.<br> contact::oo::convert_to_pdf_using_jooconverter Converts a source (file or data) into PDF using the JooConverter running on Apache/Tomcat as a webservice.<br> <br> To use this function, you will need a full installation of JooConverter including Apache Tomcat, see http://jooreports.sourceforge.net/?q=jooconverter/guide<br> To test if all components (including OpenOffice 2.0.3 or higher) will run, you can execute a wget call (with wget 1.10 or higher).<br> <br> At this time this function supports converting from Text (source_type TXT), OpenOffice-Writer (source_type ODT) and Rich Text Format (source_type RTF) to the Portable Document Format (PDF).<br> <br> Either specify a fully qualified filename as source (source_file) or direct data (source_data). contact::oo::convert_to_pdf_using_jooconverter2 Converts a source (file or data) into PDF using the JooConverter running on Apache/Tomcat as a webservice.<br> <br> To use this function, you will need a full installation of JooConverter including Apache Tomcat, see http://jooreports.sourceforge.net/?q=jooconverter/guide<br> To test if all components (including OpenOffice 2.0.3 or higher) will run, you can execute a wget call (with wget 1.10 or higher).<br> <br> At this time this function supports converting from Text (source_type TXT), OpenOffice-Writer (source_type ODT) and Rich Text Format (source_type RTF) to the Portable Document Format (PDF).<br> <br> Either specify a fully qualified filename as source (source_file) or direct data (source_data). contact::oo::get_ASCII_code contact::oo::import_oo_pdf This function is a meta/wrapper function to<br> contact::oo::import_oo_pdf_using_jooconverter and<br> contact::oo::import_oo_pdf_using_soffice (formerly import_oo_pdf itself)<br> <br> Please look at the documentation there for further information.<br> <br> This function will try import_oo_pdf_using_jooconverter first and on exception it will fallback to import_oo_pdf_using_soffice<br> <br> contact::oo::import_oo_pdf_using_jooconverter Imports an OpenOffice file (.sxw / .odt) as a PDF file into the content repository. contact::oo::import_oo_pdf_using_soffice Imports an OpenOffice file (.sxw / .odt) as a PDF file into the content repository. contact::oo::join_pdf Joins given pdf files and inserts the resulting PDF file into the content repository. contact::owner_add contact::owner_count How many owners own this object? contact::owner_delete contact::owner_delete_all contact::owner_p contact::owner_read_p contact::owner_require contact::owner_require_read contact::package_id Return the contacts package_id of a party contact::party_id_in_sub_search_clause contact::person_upgrade_to_user Upgrade a person to a user. contact::privacy_prevents_p contact::privacy_set contact::require_visiblity contact::revision::new create a contact revision contact::salutation Get salutation string. contact::salutation_not_cached Get salutation string. contact::search::condition::delete create a contact search contact::search::condition::exists_p contact::search::condition::new create a contact search contact::search::delete create a contact search contact::search::exists_p create a contact search contact::search::flush Flush everything related to a search contact::search::flush_all Flush everything related to a search contact::search::flush_results_counts Flush everything related to a search contact::search::get Get the info on an attribute contact::search::get_extensions contact::search::log log a search contact::search::new create a contact search contact::search::object_type Return the object_type for a search contact::search::object_type_not_cached contact::search::owner_id create a contact search contact::search::party_p Is the supplied party in the search. contact::search::permitted contact::search::query_clause create a contact search query. contact::search::results Get the party_ids returned for a search contact::search::results_count Get the total number of results from a search. contact::search::results_count_not_cached Get the total number of results from a search contact::search::title contact::search::update create a contact search contact::search::where_clause contact::search::where_clause_not_cached contact::search_clause Get the search clause for a search_id contact::search_pretty Get the search in human readable format. contact::search_pretty_not_cached Get the search in human readable format contact::signature::get Get a signature contact::subsite_user_group create a contact revision contact::type returns the contact type contact::url create a contact revision contact::user_p is this party a user? Cached contact::util::create_rel Create a contacts rel contact::util::generate_filename Generate a pretty filename that relates to the title supplied contact::util::get_account_manager get the account manager's party_id for an organization contact::util::get_employee_organization get organization of an employee contact::util::get_employee_organization_not_cached get organization of an employee contact::util::get_employees get employees of an organization contact::util::get_employees_list_of_lists get employees of an organization in a list of list suitable for inclusion in options the list is made up of employee_name and employee_id. contact::util::get_employees_list_of_lists_not_cached get employees of an organization in a list of list suitable for inclusion in options the list is made up of employee_name and employee_id contact::util::get_employees_not_cached get employees of an organization contact::util::get_employers Get employers of an employee contact::util::get_employers_not_cached Get employers of an employee contact::util::get_file_extension get the file extension from a file contact::util::update_person_attributes Updates the person attributes first_names, last_name, email for people who have not been entered using contacts contact::visible_p Is the contact visible to the specified package. contact::visible_p_not_cached Is the contact visible to the specified package. contacts::attribute::create this code creates a new attributes contacts::attribute::delete this code deletes an attribute contacts::attribute::name this code returns the name of an attribute contacts::attribute::options_attribute Returns a list of only the attributes that have multiple choices of the format {pretty_name attribute_id} contacts::attribute::value::save this code creates a new attributes contacts::categories::enabled_p returns 1 if categories are enabled or 0 if not contacts::categories::get_selects contacts::complaint::install contacts::date::sqlify this turns a form date into a timestamp postgresql likes contacts::default_group Returns the default group_id a contacts instance. contacts::default_group_not_cached Returns the default group_id a contacts instance. contacts::default_groups Returns a list of group_ids that this instance searches for. contacts::default_groups_not_cached Returns a list of group_ids that this instance searches for. contacts::group::notification::get_url contacts::group::notification::process_reply contacts::import::csv Imports leads information from a file. contacts::install::after_mount This is the TCL proc that is called automatically by the APM whenever a new instance of the subsites application is mounted. contacts::install::package_install contacts::merge Merge two contacts, there is also a contacts::merge callback so that other packages can get in on the action of this proc. contacts::multirow This procedure extends a contacts multirow by the type.key pairs specified as a list as the extend param. contacts::person::new Insert a new person into contacts This will add them to the default group and add the ams attributes. contacts::postal_address::get get the info from addresses and store them in the array contacts::postal_address::new this code saves a contact's address contacts::search::condition_type This proc defers its responses to all other <a href="/api-doc/proc-search?show_deprecated_p=0&query_string=contacts::search::condition_type::&source_weight=0¶m_weight=3&name_weight=5&doc_weight=2&show_private_p=1&search_type=All+matches">contacts::search::condition_type::${type}</a> procs. contacts::search::condition_type::attribute Return all widget procs. contacts::search::condition_type::relationship Return all widget procs. contacts::search::condition_type::subtype Return all widget procs. contacts::search::condition_type_exists_p Return 1 if it exists and 0 if not contacts::search::condition_types Return all widget procs. contacts::sweeper So that contacts searches work correctly, and quickly every person or organization in the system needs an associated content_item and live revision this could be done with left joins on persons and organizations tables but its slower so we create the necessary item_ids for person or organization objects that were not created by contacts (ones created by contacts automatically get associated item_id and live_revisions. contacts::telecom_number::get get the variables from phone_numbers contacts::telecom_number::new this code saves a contact's phone_number intranet-contacts::categories Return the categories that belong to object_types This is somewhat based on contact::groups which is what it should replace. intranet-contacts::employee::create_key_account_rel Create the relationship for employees intranet-contacts::employee::create_rel Create the relationship for employees intranet-contacts::object_type_pretty Return the pretty string for an object_type. intranet-contacts::supported_object_types Returns a list of object types which are supported by intranet-contacts intranet-contacts::supported_rel_types Returns a list of object types which are supported by intranet-contacts intranet-contacts::table_and_join_clauses Return a list of table_names and join_clauses which are needed to create a query for this object_type template::data::transform::contact_search template::data::validate::contact_search template::util::contact_search::contact_option this returns the contact's name to be returned in the contact search widget. template::widget::contact_search A widget that searches for contacts (persons and organizations) and lets the user select one from the search results. template::widget::select_with_optgroup
www/ | |
add-edit-complaint.adp | |
add-edit-complaint.tcl | Page to add or edit one complaint. |
admin/ | |
attribute-list.adp | |
attribute-list.tcl | Display a list of the available attributes to map to an specific search_id and also the default attributes set in the paramaters for each specific search_type. |
ext-search-options.adp | |
ext-search-options.tcl | UI to add edit or delete options for extended search. |
full-organizations.tcl | Export all organizations |
full-people.tcl | Export all people |
full-rels.tcl | Export all relationships |
group-ae.adp | |
group-ae.tcl | |
group-map.adp | |
group-map.tcl | |
group-user-change.tcl | Toggle the permission for users to edit their own attributes of this group. |
index.adp | |
index.tcl | |
permissions-user-add.adp | |
permissions-user-add.tcl | Redirect page for adding users to the permissions list. |
permissions.adp | |
permissions.tcl | Permissions for the subsite itself. |
populate.tcl | |
purge-user-searches.adp | |
purge-user-searches.tcl | |
relationship-ae.adp | |
relationship-ae.tcl | Form to create a new relationship type |
relationships.adp | |
relationships.tcl | Shows list of all defined relationship types, excluding the parent type "relationship" |
remove-default.tcl | Remove the default extended options map to one search_id |
role-ae.adp | |
role-ae.tcl | Form to create a new role |
roles.adp | |
roles.tcl | Shows all roles with links to add/delete |
search-list.adp | |
search-list.tcl | List and manage contacts. |
set-default.tcl | Set the default extended options to one search_id |
widgets.adp | |
widgets.tcl | list all attributes avaiable, and let the user edit edit permissions, regroup, etc. |
ask.adp | |
ask.tcl | Confirm upload in delivery folder. |
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 | Selection page to enter a new contact base data. |
bulk-update.adp | |
bulk-update.tcl | Bulk update contacts |
changes.adp | |
changes.tcl | |
comment-add.tcl | |
comments.adp | |
comments.tcl | |
complaint-ae.adp | |
complaint-ae.tcl | |
complaint.adp | |
complaint.tcl | |
contact-add.adp | |
contact-add.tcl | |
contact-complaint.adp | |
contact-groups.adp | |
contact-groups.tcl | List and manage contacts. |
contact-rels.adp | |
contact-rels.tcl | List and manage contacts. |
contact.adp | |
contact.tcl | |
convert.tcl | Download file, convert it to pdf and return it |
create-club.tcl | Create the club for an organization. |
files-delete.tcl | Update sort order |
files-update.tcl | Update sort order |
files.adp | |
files.tcl | List and manage files for a contact. |
group-delete-confirm.adp | |
group-parties-add.adp | |
group-parties-add.tcl | List and manage contacts. |
group-parties-remove.adp | |
group-parties-remove.tcl | List and manage contacts. |
group-party-add.tcl | List and manage contacts. |
group-party.tcl | List and manage contacts. |
history.adp | |
history.tcl | |
import-csv-2.adp | |
import-csv-2.tcl | page to import a csv file to the system (contacts) |
import-csv-3.adp | |
import-csv-3.tcl | Page to upload files and generate new task for dpm/fpm |
import-csv-4.tcl | Save the import files |
import-csv.adp | |
import-csv.tcl | page to import a csv file to the system (contacts) |
index.adp | |
index.tcl | List and manage contacts. |
index.vuh | |
lookup.adp | |
lookup.tcl | Lookup contact names |
mail-tracking.adp | |
mail-tracking.tcl | |
message-action.tcl | List and manage contacts. |
message-ae.adp | |
message-ae.tcl | Form to create a new relationship type |
message-log.adp | |
message-log.tcl | |
message-messages.adp | |
message.adp | |
message.tcl | List and manage contacts. |
messages.adp | |
messages.tcl | List and manage contacts. |
person-groups-ae.adp | |
person-groups-ae.tcl | |
person-upgrade-to-user.tcl | |
relationship-add.adp | |
relationship-add.tcl | Add a contact relationship |
relationship-ae.adp | |
relationship-ae.tcl | Add a Relationship and Manage Relationship Details |
relationship-bulk-add-2.adp | |
relationship-bulk-add-2.tcl | Add / replace relationships between contacts. |
relationship-bulk-add-3.tcl | Add / replace relationships between contacts. |
relationship-bulk-add.adp | |
relationship-bulk-add.tcl | |
relationship-bulk-move.tcl | Move existing relationships to other contact. |
relationship-delete.tcl | List and manage contacts. |
retrieve.tcl | Get a file from the /tmp directory |
save-attribute.tcl | Saves an attribute_id for one search_id |
search-action.tcl | List and manage contacts. |
search-condition-delete.tcl | Delete a search condition. |
search-help.adp | |
search-help.tcl | List and manage contacts. |
search.adp | |
search.tcl | List and manage contacts. |
searches.adp | |
searches.tcl | List and manage contacts. |
select-groups.adp | |
select-groups.tcl | List and manage contacts. |
settings.adp | |
settings.tcl | |
signature.adp | |
signature.tcl | List and manage contacts. |
smart-search.adp |
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