- PeterMoulding.com
- Author
- Trainer
- Speaker
- Business Coach
- How to write a How To book
- PHP Courses
- Speaking
- Web Architect
- Australia
- Books
- Authors
- Akkana Peck
- Alex Berenson
- Andrew Nugent
- Ben Sanders
- Brock Clarke
- Chris Simms
- David Mercer
- Dianna Mullet
- Don Winslow
- Dori Smith
- Harlan Coben
- Jack McDevitt
- James Wines
- Jerry Yudelson
- John Grisham
- Kevin Mullet
- L. E. Modesitt Jr.
- Laurell K. Hamilton
- Marshall Karp
- Martina Cole
- Michael Marshall Smith
- Michel Roux Jr
- Nadia Sawalha
- Philip Pullman
- Raymond Khoury
- Richard North Patterson
- Robert Masello
- Sally Roth
- Sarah Langan
- Stella Rimington
- Stephen Booth
- Stephen King
- Stephen Leather
- T.C. Boyle
- Tom Negrino
- Tony Hillerman
- Urban Waite
- Val McDermid
- Valerio Massimo Manfredi
- Beginning GIMP
- Beginning Visual C++
- Culturalism
- Fiction
- A Drink Before The War
- A Talent for War
- Bag of Bones
- Blood and Ice
- Burn
- Dark Lady
- Dead Line
- Eclipse
- Empress of Eternity
- Exley
- Flipping Out
- Just One Look
- Nightfall
- Pet Sematary
- Savage Moon
- Skinwalkers
- Starvation Lake
- The Fallen
- The Gardens of the Dead
- The Jump
- The Last Templar
- The Mermaids Singing
- The Midnight Mayor
- The Secret Soldier
- The Summons
- The Terror of Living
- The Testament
- The Tower
- Under the Dome
- Virus
- AJAX and PHP
- Aging with Grace
- Food books
- Green Architecture
- Life Is So Good
- SQL: The Complete Reference
- The Backyard Bird Lover's Ultimate How-to Guide
- The Garden Gurus
- Authors
- Sustainability
- -18 hours left to decide the future of Australia
- Campbells vegetable stock or Massel vegetable stock?
- Carbon Sequestration
- Carbon tax for Australia is a fraud
- Copenhagen will fail
- Cost of living in Australia
- Dick Smith jumps on the population bandwagon
- Dry Run: Preventing the Next Urban Water Crisis
- Energy Saving Lights
- Garlic
- How many people can live in Australia?
- Its obsolete, throw it out!
- Julia Gillard offers 9.9 billion dollars bribe to Rob Oakeshott
- Laundry detergent
- Petrol or Diesel?
- Reflective foil batts kill
- RoHS
- Sea level to rise 3mm due to climate change
- Solar power
- Spring again in Sydney
- Sustainable fuels
- The CRUD Tax is back
- The people who make building regulations do not own houses
- Water efficiency
- Which insulation is safer, foil or wool?
- Will Australia reduce greenhouse gas emissions?
- Technology
- Android or Blackberry or iPhone or a flip phone?
- Apple versus Google 2011
- Cameras
- Cars
- Colour
- Burgundy
- Colour Blindness
- Colour Names
- Dulux colours
- Pantone colours
- Safe Colours
- Seculine ProDisk Mini colour balance card
- What Causes Colour Blindness?
- Hardware
- Batteries for the Digital Age
- Cables
- Cases
- Computer reliability
- Computrace
- Disks
- Astone ISO Gear 481E
- Best SSD for your notebook computer
- Disk block size
- Hitachi disk HDS722020ALA330
- LaCie USB 2.0 250 GB mobile hard drive design by F.A. Porsche
- SMART disk
- Samsung 2 TB HD204UI quiet low power disk for mass storage
- Seagate and Samsung merge disk business
- Select the right disk for your RAID array
- USB disk speed
- Western Digital WD20EARX 2 GB SATA 3 disk
- How long should computer hardware last?
- Keyboards
- Mainframe
- Memory cards
- Monitors
- Netbooks, notebooks, tablets, and xPads
- Network Attached Storage
- OLED Displays
- PC's are a thing of the past
- Printers
- Quiet
- Samsung Galaxy S
- Speed
- Television
- Tools
- USB
- Worst computer movies
- Xserve is dead. What next?
- Your backup will not work
- Z68 motherboards
- iPad or Acer Aspire One?
- IQ
- LG Intello Washing Machine
- Lack of a challenge
- Networks
- 802.11n wireless networking
- D-Link DIR-655 wireless router
- D-Link DWA-160 Xtreme N dual band USB adapter
- D-Link DWA-556 Xtreme N PCI Express desktop adapter
- MIMO
- NBN spends another $12 billion of our tax money on nothing
- National Broadband Network
- Netgear wireless modem router DGND3300 with 300 Mbps 802.11n
- Refrigerator kills wireless broadband
- Small Wireless Network
- TP-LINK TL-SG10005D 5 port gigabit switch
- TP-Link TL-WR1043N wireless N gigabit router
- Telstra Pre-paid Mobile Wi-Fi
- Where are the router plus proxy server combinations?
- Open Source documentation
- Software
- 7-zip
- Accounting
- Asterisk
- Audacity
- Backup software
- Bloat only in Windows
- CAD
- CDex
- Disk imaging software for copying and backup
- Exact Audio Copy
- Filezilla
- Firefox
- Java
- LibreOffice or OpenOffice?
- Linux
- 1 in 5 servers will ship with Linux
- Android phones outsell iPhone
- Another Move to Linux
- CentOS 5.5 installation on SSD and RAID 5
- Debian
- Debian 5.0.5 AMD64 installation
- Debian 5.06 installation
- Fedora
- Fedora or Ubuntu?
- Gnome or KDE?
- K9copy
- Linux 2.6.38
- Linux Gnome login settings lost
- Linux Mint
- Linux RAID, a rant
- Linux Speed
- Linux Time
- Linux reliability as demonstrated by Ubuntu 10.10
- Linux reliability as demonstrated by Ubuntu 11.4
- Linux still a struggle in 2011
- Linux workstation disk RAID 1
- Linux, NT, Windows, and SETI
- Linux, three years of progress
- London Stock Exchange switches to Linux
- Mandrake Linux 9.2
- The partition is misaligned by 48128 bytes - warning from Linux RAID
- Ubuntu
- How to fix the scroll bars in Ubuntu 11.4 Gnome
- Kubuntu 10.10 alternate installation on desktop with RAID 1
- POWbuntu
- Ubuntu 10.10 after 6 months use
- Ubuntu 10.10 alternate installation
- Ubuntu 10.10 desktop RAID 1
- Ubuntu 10.10 desktop RAID 5
- Ubuntu 10.10 desktop install on a netbook
- Ubuntu 10.10 desktop installation
- Ubuntu 10.10 netbook install on a netbook
- Ubuntu 10.10 server AMD64
- Ubuntu 10.10 upgrade to version 11.4 beta 2
- Ubuntu 10.4
- Ubuntu 11.10
- Ubuntu 11.10 first upgrade
- Ubuntu 11.4 after one month use
- Ubuntu 12.04 beta1 desktop amd64
- Ubuntu One
- Ubuntu by Microsoft?
- Ubuntu desktop upgrade 10.4 to 10.10 failed because I did not check the media
- Ubuntu strikes again
- Upgrade Ubuntu to Linux Mint 12 LDXE for extra speed
- Yes, use Linux but not that distribution!
- Nero
- OpenOffice
- OpenOffice is now Apache Office
- Project management
- Scribus
- Software for Windows and Linux
- Text editors
- Time
- Todo applications
- Tomboy notes
- Top text editors
- Version control
- VideoLAN VLC media player
- Visio
- Webmin
- Webmin installation on CentOS for Web development
- Webmin installation on Ubuntu
- What is the most popular open source software today?
- Windows
- Another Windows person goes Linux
- BAD_POOL_CALLER
- Cygwin
- Microsoft Malicious Software Removal Tool cannot find a common virus
- One of the developers of Windows XP is criminally insane
- There are unused icons on your desktop
- W32time
- Which Windows version?
- Windows 7 Home Premium
- Windows XP Stop 0x0000007B during installation
- Windows XP is a disaster
- Windows processes
- XML
- Zip, bzip, gzip, or 7zip?
- configFree
- Technology Succession Planning
- VoIP
- Web Sites
- Drupal
- Do Drupal themes have to use the GPL?
- Drupal 7
- A better search facility for Drupal
- Drupal - performance or flexibility
- Drupal 7 Fields are hard to fix
- Drupal 7 new features
- Drupal 7 ships on January 5
- Drupal 7.14
- Drupal 7.4 hits PeterMoulding.com
- Drupal function sequence
- The evolution of a module
- Undefined index: headers in DefaultMailSystem->mail() (line 54 of /modules/system/system.mail.inc).
- Undefined index: to in DefaultMailSystem->mail() (line 83 of /modules/system/system.mail.inc).
- implode(): Invalid arguments passed in DefaultMailSystem->format() (line 23 of /modules/system/system.mail.inc).
- Drupal 8
- Drupal Code Load Cut
- Drupal How To
- Drupal Modules
- Backup and Migrate
- Browscap
- CKEditor with Drupal WYSIWYG
- Captcha
- Cel
- Colorbox
- Content Construction Kit
- Content type
- Devel module for Drupal
- Drupal Rules as an automation language
- Drupal Spam add-on module
- Form alter to node
- IMCE
- IMCE Wysiwyg bridge
- ImageAPI
- Jdog
- Lightbox2
- Module variable
- Node Gallery Access
- Node_Gallery
- Path
- Path redirect
- Pathauto
- Pet
- Search
- Service links
- Session Variable
- Statistics
- Taxonomy
- Token
- Token ex
- Transliteration
- Trigger
- Watch
- Other modules
- Drupal Training
- Drupal access controls need a major rewrite
- Drupal coding tricks
- Drupal performance
- Drupal themes for the future
- Drupal.org colours
- Import existing data into Drupal
- Multiple Web sites made easy using Drupal multisite and the right start
- drupal_lookup_path()
- Adobe PDF
- Apache
- Apache Mahout
- Audi.com
- Bleet
- CSS Strikes Again
- CSS or xCSS
- Can you believe Facebook or email?
- Content Management Systems
- Databases
- Facebook scam
- Font
- Fonts
- HTML
- Install Apache, MySQL, and PHP 5 in Ubuntu 11.4 using the Ubuntu Software Centre
- Language Codes
- Marketing
- Memcache
- Nginx
- Open source development hits another roadblock
- Oscars
- PHP
- SPDY
- Search software
- Techoni.com.au
- Theme themes
- Things to hate on Web sites
- U.S. Patent No. 6,985,875
- Virtual Private Server
- Visible Improvement
- Web 4.0
- Web browser usage
- Web browsers
- Web site development
- Bluefish
- Crying over spilt code
- Eclipse and PHP
- Getting a Git client, a story of ancient technology and pain
- HTTrack
- MVC
- Netbeans
- PHP or ..., CakePHP/Symfony/ZF versus ...
- Programming
- Superfish
- Web browser emulators for testing your Web site
- Web development frameworks
- Web site books
- Web site development on your own computer
- Webmin or phpMyAdmin or cPanel for creating databases?
- aiki framework
- jQuery
- Views development - Learn Fields first
- Views development - Learn Actions and Rules
- jQuery .each()
- jQuery .has()
- jQuery .is()
- jQuery and Firefox Firebug
- jQuery children
- jQuery for people not using Drupal - Installation and getting started
- jQuery hover
- jQuery hover de-duplication example
- jQuery or CSS?
- jQuery performance
- jQuery tests
- Web site hosting
- Westpac Web site still broken after two years and ten months
- Wordpress wins another CMS survey
- Drupal
Drupal ERP profile
ERP for Drupal is both a package of Drupal add-on modules to build your own custom ERP system and a prebuilt profile delivering a ready to use ERP system. This page is about the prebuilt Drupal ERP profile.
Download Drupal ERP profile, drupalerp-6.x-1.1-beta3-core.tar.gz, from drupal.org/project/drupalerp. The download includes the Drupal core. I will step through the installation of the Drupal ERP profile, assuming you already know how to install Drupal, and the problems. For some people the profile will be easier than assembling the ERP package and all the prerequisites.
Learning ERP
The ERP package includes a lot of optional modules and trying to decide what you need is difficult. There is a demonstration Web site to help you try out transactions but not configuration experiments. You could experiment by setting up a test Web site from the Drupal ERP profile, experiment with configuration cnages, then use your experience to configure the ERP package within an existing Web site.
Access
One critical thing for ERP is security. You might decide to place ERP on a public Web site so you can access ERP from anywhere using any computer. You have to get the security working the right way to give access to you and your staff but not let any other users of the site see your confidential information. The Drupal ERP profile sets up some role based security.
The Drupal ERP profile adds two new roles to the default roles from Drupal 6. Drupal 6 defines the roles anonymous user and authenticated user. Drupal 7 adds the administrator role and the Drupal ERP profile adds the administrator role to Drupal 6, something I recommend for all Drupal 6 installations. The Drupal ERP profile also adds a role named staff. This is the critical role. People with the staff role can use ERP. Those without the role will not see your data.
Installation part one
Create your basic Web site. Typically with cPanel on Ubuntu or Debian, you start in a home directory, /home/, then add your Web site directory, /home/example/, then add your HTML directory, /home/example/public_html/. You will also have a Web server log directory, /home/example/access-logs/.
Download drupalerp and expand the contents into public_html. drupalerp-6.x-1.1-beta3-core.tar.gz expands to drupalerp-6.x-1.1-beta3-core.tar then drupalerp-6.x-1.1-beta3-core.tar expands to drupal-6.15. You want the contents of drupal-6.15 in public_html.
Prerequisites
The Drupal ERP profile includes a range of modules but not everything you need. You have to add two missing prerequisite modules. This is a problem remaining unfixed for over 10 months. Not good enough for people who depend on prebuilt applications.
Chaos tool suite
The drupal erp profile requires Context and Context requires the Chaos tool suite, drupal.org/project/ctools. Ctools includes an almost random assortment of tools and should be several separate modules. At least Ctools has a Drupal 7 version, something that cannot be said for all the other required modules.
Expand the downloaded file into /home/example/public_html/profiles/drupalerp/modules/. You should now have /home/example/public_html/profiles/drupalerp/modules/ctools/ctools.info.
Edit /home/example/public_html/profiles/drupalerp.profile.
Find function drupalerp_profile_modules(). Find the line stating with 'autologout', 'admin_menu', 'advanced_help',. Insert 'ctools', at the start. You should now have 'ctools', 'autologout', 'admin_menu', 'advanced_help',.
Context
Download and install Context from drupal.org/project/context. Context includes the Context UI module, which you also need. Expand the downloaded file into /home/example/public_html/profiles/drupalerp/modules/. You should now have /home/example/public_html/profiles/drupalerp/modules/context/context.info
Installation part two
Assuming your Web site is example.com, visit http://example.com/install.php. You are presented with the following install steps.
- Choose profile
- Choose language
- Verify requirements
- Set up database
- Install profile
- Configure site
- ERP Configuration
- Finished
Choose profile
Select Drupal ERP then Save and continue. The Drupal ERP profile takes longer than the standard Drupal profile because there are many more modules installed.
Drupal ERP skips this step.
Verify requirements
Drupal skips this step if you have everything right. The main requirement is to set update permission on settings.php.
Enter the database name, the database username, and the database password.
The database step reports the following error and provides a link to an error page but the error page is just the next step.
The installation has encountered an error. Please continue to the error page. An error occurred. http://example.com/install.php?locale=&profile=drupalerp&id=1&op=do (no information available).
Configure site
Enter the following information.
Site name:
Site e-mail address:
Username:
E-mail address:
Password:
Default time zone:
Clean URLs:
Update notifications:
Drupal ERP installation complete
The following information is displayed, including a lot of errors and a long list of things still to be done.
* warning: mail(): SMTP server response: 550 5.7.1 Unable to relay for test@example.com in /home/example/public_html/includes/mail.inc on line 193.
* Unable to send e-mail. Please contact the site administrator if the problem persists.
* user warning: Field 'user_list' doesn't have a default value query: INSERT INTO erp_customer (nid, fid, address, suburb, state, postcode, postal_address, postal_suburb, postal_state, postal_postcode, phone, fax, mobile, email, email_format, homepage, documentation, terms, reminder_days, specific_day) VALUES (6, 0, '65 Main Road', 'Nairne', '', '5252', '', '', '', '', '+40-6-5000', '', '', '', 2, '', '7', 0, 0, 0) in /home/example/public_html/includes/common.inc on line 3467.
* warning: array_map(): Argument #2 should be an array in /home/example/public_html/modules/system/system.module on line 1015.
* warning: array_key_exists(): The second argument should be either an array or an object in /home/example/public_html/modules/system/system.module on line 1053.
* warning: array_keys(): The first argument should be an array in /home/example/public_html/modules/system/system.module on line 1030.
* warning: array_key_exists(): The second argument should be either an array or an object in /home/example/public_html/modules/system/system.module on line 1053.
* warning: array_keys(): The first argument should be an array in /home/example/public_html/modules/system/system.module on line 1030.
* warning: array_key_exists(): The second argument should be either an array or an object in /home/example/public_html/modules/system/system.module on line 1053.
* warning: array_keys(): The first argument should be an array in /home/example/public_html/modules/system/system.module on line 1030.
* Your ERP setup is not yet complete, please visit ERP Initial setup to finalise settings
* Book page Customer Documentation has been created.
* Book page Supplier Documentation has been created.
* Book page Store Documentation has been created.
* erp store ERP Store has been created.
* erp customer Test customer has been created.
* erp supplier ERP Store Supplier has been created.
* erp item LABOUR has been created.
Congratulations, Drupal ERP has been successfully installed.
Your ERP setup is not yet complete, please visit ERP Initial setup to finalise settings
Code fixes
/profiles/drupalerp/modules/erp/erp_stock/erp_stock.module
The following line contains an &. Remove the &. $form = erp_stock_edit_form($form_state, $nid);
/modules/system/system.module
The system module produces an error message when the system is not set up the correct way by a module. Report the error then change the code to remove the error until drupalerp fixes the problem. In the following function, serialize() may return false instead of an array. You can add the if($info === false) line to manually create an array.
function system_region_list($theme_key) {
static $list = array();
if (!array_key_exists($theme_key, $list)) {
$info = unserialize(db_result(db_query("SELECT info FROM {system} WHERE type = 'theme' AND name = '%s'", $theme_key)));
if($info === false) { $info = array('regions' => array()); }
$list[$theme_key] = array_map('t', $info['regions']);
}
return $list[$theme_key];
}
function system_region_list($theme_key) {
static $list = array();
if (!array_key_exists($theme_key, $list)) {
$info = unserialize(db_result(db_query("SELECT info FROM {system} WHERE type = 'theme' AND name = '%s'", $theme_key)));
if($info === false) { $info = array('regions' => array()); }
$list[$theme_key] = array_map('t', $info['regions']);
}
return $list[$theme_key];
}
ERP initial setup
ERP produces a message about an initial setup and a link to http://example.com/admin/erp/initialsetup. The linked page lists the following tasks.
- ERP Store - Change the store name and address details to match your business.
- Drupal user list - Add new users for your staff. Remember to select the "Staff" role for each that you add.
- ERP franchisee settings - Review the franchisee settings.
- ERP customer settings - Review the customer settings.
- ERP invoice settings - Review the invoice settings.
- GMap settings - Review the invoice settings.
Change the Store
to be your organisation. If you have branches, you could add each branch so the billing address will be the branch. ERP also has franchisee
to alter the control of customers. Franchisee connects a user to a customer. If you have a sales person or project manager assigned to each customer, they could be a franchisee.
The customer setting is the default handling for new customers.
ERP theme
ERP includes a theme configured to display ERP related blocks. The theme is installed, made the default, but is not switched on. You do not see the blocks displayed. Switch on (enable) the ERP theme in the Administration > Site building > Themes list.
Non ERP setup
ERP uses a lot of modules that are not part of ERP and some of those modules require their own setup.
Date and Time
The Date and Time modules require configuration at http://example.com/admin/settings/date-time. You select your time zone by name, similar to Drupal 7. You give your users the option to select their own time zone. You change the calendar to start the week on Monday instead of Sunday.
The Date Popup module recommends using the jQuery UI module and says the optional module will soon be a compulsory prerequisite. Download jQuery UI from drupal.org/project/jquery_ui. I used 6.x-1.4. There is no Drupal 7 version published, creating another delay for the conversion to Drupal 7.
Conclusion
A Drupal based ERP is a better long term investment because of all the other Drupal modules you can use. The Drupal ERP profile approach is a relatively easy way for a Drupal Web site administrator to set up a new Web site for ERP compared to manually configuring all the separate and prerequisite modules. Currently the Drupal ERP profile is too far out of date for use by beginners.








