Roadmap and Release 4.0.0
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 https://github.com/Dolibarr/dolibarr/issues. 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
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 option MAIN_PUBLIC_NOTE_IN_ADDRESS 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 option MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN 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. WARNING: 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/actions_linkedfiles.inc.php'. 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/actions_linkedfiles.inc.php'; if (! $res) include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php';