Roadmap and Release 4.0.0

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Version: 4.0 (List of other versions on page Category:RoadMap)
Release date: June 2016
Main focus (What developers has mainly worked on, but not only, so for full list of changes see the detailed ChangeLog):
Will contain a list of enhancement and big fixes defined into issue/task traker available at See raw ChangeLog lower for details.

  • Enhancement of look. Better responsive design
  • Choose of fields to show on list is now also available for proposal, invoices, orders
  • Module cron is now complete. Any external module can add their own scheduled task with a simple declaration.
  • Full management of recuring/templates invoices. Used with contract module, you can follow subscriptions.
  • New module Supplier proposals.
  • New module Loan.
  • Overwriting translation is now possible from GUI.
  • A ton of minor enhancements

Detailed Changelog:

For users:

NEW: Add reccuring invoice feature and automatic generation of invoices.
NEW: Add module "Loan" as stable.
NEW: Add module "Supplier commercial proposal" (price request) is set to stable status.
NEW: Experimental module Accountancy Expert
NEW: Experimental module Multicurency
NEW: Show into badge on tab head the number of dedicated contacts for all objects.
NEW: Add a checkbox to select/unselect all lines on page that support mass actions (like invoice list page)
NEW: Add a new method for margin calculation. Added margin on "cost price" to margin on WAP price and margin on "best supplier price".
NEW: Add an explanation message on shipment page to explain you can't make shipment if order is not validated
NEW: Add date_rum into table of thirdparty bank account.
NEW: The probability of lead/opportunity can be defined per lead.
NEW: Added Malta VAT into migration script
NEW: #4972 Translated Charges sociales (type 0) and Charges sociales (type 1) in reports page
NEW: Add Expense report into accountancy report
NEW: Add Expense report to approve into workboard 
NEW: Selection of boxes is move on top of home page
NEW: Add filter on a keyword, status and nature into list of modules
NEW: Add hidden option BANK_DISABLE_CHECK_DEPOSIT to disable check deposit feature.
NEW: add html id/class to locate value in the DOM html
NEW: Add index on invoice status 
NEW: Add constant MAIN_LOGTOHTML to 0 into other setup by default to save time when we need to make debug on hosted instance.
NEW: Add list of billed
NEW: Add minimum stock and desired stock into import/export profiles. 
NEW: Add state into thirdparty export fields
NEW: Add more trackable events (create, submit and receive supplier order).
NEW: Add picto on module list to show warning and if module is an external module.
NEW: add product type filter on turnover report
NEW: Add state into list of fields available for personalized fields of thirdparties
NEW: Add statistics for interventions module
NEW: Add statistics on number of projets on home page
NEW: Add stats and late records into dashboard for supplier proposals.
NEW: Add the admin info on combo of type of contact
NEW: Add the event BILL_PAYED to list of supported events for module notification.
NEW: Add total weight and volume on PDF 
NEW: Add hidden option to hide column qty ordered on shipments.
NEW: Add view of virtual stock into product list (when appropriate)
NEW: Add warning on tasks when they are late (add also the warning tolerance parameter)
NEW: Add weight/volume for one product into shipment export
NEW: Add width and height on product card
NEW: allow a document to be linked to project from another customer on config
NEW: allow project to be shared across entities (for multicompany module)
NEW: All variant of ckeditor config can be tested into the setup page of module.
NEW: Can change dynamically number of records visible into lists.
NEW: Can change type of extrafields for some combinations.
NEW: Can define number of first and last line into import wizard.
NEW: Can edit next execution date of a cron job.
NEW: Can edit value date of a vat payment after recording it.
NEW: Can filter modules on publisher
NEW: Can filter on employee status when building emailing from users
NEW: Can reopen an closed shipment
NEW: Can search on shipments into the quick search box
NEW: Can select dynamicaly number of lines to show on page on product, shipment, contact, orders, thirdparties 
NEW: Can select fields to show on supplier orders list.
NEW: Can select fields to show on list also for list of customer orders, shipments and invoices.
NEW: Can select fields to show on proposal lists.
NEW: Can select language from combo list on page to overwrite a translation
NEW: Can select number of lines on page list for projects and tasks.
NEW: Can use ^ and $ (to say start with or end with like regex syntax) into search fields when search field is text. Bonus: ^$ can filter all lines with field not defined.
NEW: Clean and enhance code for cron engine
NEW: Can decrease stock on shipment closing/classifying (only if module lot is not enabled for the moment)
NEW: Disabled users are striked.
NEW: Enhance navigation of project module
NEW: fichinter lines ordered by rang AND DATE
NEW: hidden conf to use input file multiple from mail form
NEW: hidden feature: SUPPLIERORDER_WITH_NOPRICEDEFINED allow supplier order even if no supplier price defined
NEW: Hidden option MAIN_LANDING_PAGE to choose the first page to show after login works as a "global" option (llx_const) and as a "per user" option (llx_user_param).
NEW: Holiday is a now a RH module. All RH module provides by default visilibity on users of its hierarchy.
NEW: If error is reported during migration process, you can ignore it to avoid to be locked.
NEW: if nb total of lines provided in print barre_liste, display in title
NEW: If option to see non stable modules is on, add a filter into module list to filter on level (deprecated, experimental, development)
NEW: Include number of linked files into badge counter of "Linked files" tab.
NEW: Include sales representative into export of thirdparties
NEW: Indicator on workboard are red/green if late or not.
NEW: Into GED module, filename is truncated only if there is not enough space into table
NEW: Introduce a predefined job to run database backup
NEW: Introduce option MAIN_WEIGHT_DEFAULT_UNIT and MAIN_VOLUME_DEFAULT_UNIT to force output unit for weight and volume.
NEW: Introduce position of records into dictionnary of type of contacts
NEW: Link on user in leave context reach to leave tab.
NEW: List of user in agenda view per user show photo thumb
NEW: Margins module - Check/update buying price on invoice lines
NEW: Merge all admin tools (system and module admin tools) into same entry "Admin tools", so now things are clear: All features restricted to an admin user is inside "setup" (for setup) or "admin tools" (for action tools) instead of 3 different entries.
NEW: Merge all boxes "related objects" into one. This save a lot of room on most card and avoid often horizontal scoll.
NEW: Moved code that deals with bank categories to BankCateg. Created BankCateg::fetchAll function
NEW: Move Expense report menu from module to menu files
NEW: Move HRM dictionary from module to core dictionaries
NEW: Mutualize code to manage email substitution variables. Show available variables into page to edit email templates.
NEW: Mutualize code: Use one call of function "addThumbs", when possible, to generate thumbs files instead of several call of "vignette" function.
NEW: On translation admin page, admin can overwrite a translation value.
NEW: Option MAIN_LIST_FILTER_ON_DAY is supported on proposal list
NEW: Add reputation field for price supplier
NEW: Rest API token is no more reset at each call. We can reset it with param reset=1 on login call.
NEW: Selection of fields is available on member list.
NEW: Show a badge with number of withdraw requests done on the withdraw tab of invoice.
NEW: Add option to show detail per warehouse into reassort
NEW: Show total number of modules into the module list
NEW: Survey system has now a status like other objects. You can close or reopen a survey.
NEW: The note on time spent can be entered when using the view per day.
NEW: Use ellipsis truncation on too large left menu text
NEW: When a new field to show into lists is selected, the form is automatically submited and field added.
NEW: When creating a template invoice from a draft invoice, if there is link to contract on draft invoice, link is kept on template invoice.
NEW: When emailing is not sent completely, show progression.

For developers:

NEW: Add a css class style called 'reposition', so when clicking on a link with this class will move scrollbarr to be placed at same page location.
NEW: TimeZone can be supplied to mktime
NEW: hook in shipment card
NEW: Deprecated Societe::set_prospect_level, Societe::set_commnucation_level, Societe::set_OutstandingBill functions
NEW: A module can add, into its import profiles, a sql request to execute at end of import. This allow to update dernormalized data after import.
NEW: Add hook pdf_build_address 
NEW: Add a parameter on graph function to show a generic graph when no data are available.
NEW: Add $object in parameter of pdf_build_address so we could include hook into the function.
NEW: Add a tool for developers to purge database with no loose of setup
NEW: Can disable a module by renaming dir of module into module.disabled (this save time for maintenance when working with FTP).
NEW: Created AccountLine::insert function and started using it for transaction creation
NEW: Created Account::__toString, Account::getFieldsToShow and Account::getAccountNumberOrder to refactor the way account number was shown
NEW: Created FormBank::getIBANLabel function to get the label of "IBAN" depending on bank account country
NEW: prepare for additional warehouse statuses
NEW: project sharing in select_projetcs_list function
NEW: Removed deprecated CommonObject::client property. Please use CommonObject::thirdparty instead
NEW: Removed unused FormOrder::selectSourcesCommande function
NEW: Renamed ActionComm::add function to ActionComm::create
NEW: Rename Form::select_date to Form::selectDate and Form::form_date to Form::formDate
NEW: Rename path for generiN
NEW: More phpunit tests. Include some REST API into automatic tests.


Dolibarr 4.0 should be compatible with PHP 7 but more feedbacks are still expected to confirm that.

Following changes may create regression for some external modules, but were necessary to make
Dolibarr better:
- Function log() of class CommandeFournisseur has been removed. Using it is no more required.
- Class Resource was renamed into DolResource to avoid conflict with a reserved PHP word.
- Method commonobject->add_thumb() has been renamed into commonobject->addThumbs().
- Method select_type_comptes_financiers() has been renamed into selectTypeOfBankAccount() 
- Property ->client that was deprecated 6 years ago, is replaced in all core code with ->thirdparty.
- File '/core/tpl/document_actions_pre_headers.tpl.php' were renamed into '/core/'. So if you included it into your module, change your code like this to be compatible with all version: 
  $res=@include_once DOL_DOCUMENT_ROOT . '/core/';
  if (! $res) include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php';