Hi,

I’m not even sure Drupal is what I am looking for but here it goes.

I wish to design a site which from a standard unregistered visitor looks much like a company/employee director, with basic company information including logos, and employee details (all made as pretty as possible).

However, when a company joins the site (at this point that would be for free, but later I would like to possibility to sell subscriptions) then the company administrator would add the company details as well as set up employee accounts, with each employee having their own login (Might need a custom login fields for example: company name, username, and password).

So there is an element of company/employee directory, but the other side of the site is employees from a registered company can login in to create a client database, and each client can have an unlimited amount of prebuilt forms associated to him/her, with some forms having to be associated to a client more than once. For example, if you have an address form, that is completed for every client, and that client moves then the new address cannot over write the old address, both addresses will need to be kept and accessible by the employee.

(for now) Clients will not have a client login and all client information is private and cannot be seen by anyone else (maybe seen by the main company login, not sure yet).

Has anyone got an idea of where to start? I looked at Joomla (I have built a few very simple sites in Joomla 1.5) but I couldn’t see a way of doing this, so Im jumping ship to Drupal (If that can do it).

Jason

Comments

Jeff Burnz’s picture

Get your site plan down firm before evaluating platforms. Drupal eats simple stuff like this for breakfast, however no one said anything was easy. Web development can be hard.

JasonKaminska’s picture

I have most (90%) of the operation of the site nailed down (on paper), there are a couple of issues still fluid, as am waiting on data protection and ethics advice.

I haven’t started on look/colours/feel of the site yet.

But I need to start the evaluation process of the platforms, to get an idea of what is possible and what is not (to limit my imagination), and to concentrate the steep learning curve to one environment. As there is no (client) deadline on the site development, since it’s my own creation, I have the time to learn the winning platform.

If you could give a clue to narrow the learning curve, that would be fantastic :-).

Jason

Jeff Burnz’s picture

I wish to design a site which from a standard unregistered visitor looks much like a company/employee director, with basic company information including logos, and employee details (all made as pretty as possible).

However, when a company joins the site (at this point that would be for free, but later I would like to possibility to sell subscriptions) then the company administrator would add the company details as well as set up employee accounts, with each employee having their own login (Might need a custom login fields for example: company name, username, and password)

Look at this module: https://www.drupal.org/project/group

This is an alternative to Organic Groups (but it's production ready for D8, and trust me, you want to use Drupal 8).

So there is an element of company/employee directory, but the other side of the site is employees from a registered company can login in to create a client database, and each client can have an unlimited amount of prebuilt forms associated to him/her, with some forms having to be associated to a client more than once. For example, if you have an address form, that is completed for every client, and that client moves then the new address cannot over write the old address, both addresses will need to be kept and accessible by the employee.

This is really just a bunch of entity types, probably nodes, with various fields - as VM says you can use multi-value fields and use Views or other methods to only output the most recent record, but the old records stay in the database. You can get a lot more sophisticated if you use Paragraphs module as well.

(for now) Clients will not have a client login and all client information is private and cannot be seen by anyone else (maybe seen by the main company login, not sure yet).

OK, but if a client could login, what could they do? You need to think about that now.

That's a start - Groups, maybe Paragraphs, and Drupal core (Views, Fields, Content types etc). Of course you'll want a lot more stuff and the real learning curve will be in Drupal core - getting down with fields, content types, security, etc etc, and then you have to theme it.

Like I said, Drupal 8 eats stuff like this for breakfast - it's fieldable entities + entity reference system is all powerful and no other CMS has anything even like it, and then you have Views (a list builder) and it's granular permissions system etc etc.

VM’s picture

Based on your future organization structure and the ensuing devil in the details aka feature creep, I'd consider organic groups and its addons. This is particularly true if you at any point will desire user grouping and expanded access control.

for maintaining the data (field/address changes).
one method to do this would be to use revisions. Then display using a view. (likely rudimentary)

Another method would be to use a multi-value field (think 'add another field/address'. Updating the field would generate another database entry leaving the previous entry.

in either of the above one could also deploy https://www.drupal.org/project/track_field_changes to record the who/what behind the field changes.

If you are looking to restrict access to the field in any way, investigate the field permissions module. https://www.drupal.org/project/field_permissions.

my suggestion to lessen the learning curve is to install Drupal core (no addon's) and familiarize yourself with its features. This tends to help give a foundation when considering your available approaches when a need arises to expand or create a new feature.

JasonKaminska’s picture

Time to roll my sleeves up and start ‘playing’ with Drupal while I nail down the final site plan & design.

Jason

kingpanel’s picture

I was about to learn how to build a website, what good advice?