3 replies [Last post]
go7
go7's picture
Offline
Joined: 03/20/2009
Juice: 5
Was this information Helpful?

I am trying to build a website that has following features:
• An organization buys access to a specific service, e.g. certain quizzes, ability to schedule their staff, manuals etc.
• Access is time limited (1 month, 6 months etc.)
• The organization can add employees to their organization
• Managers/Organization can see different nodes than employees, and will have different permissions to different parts of the system (e.g. manager can add employee, employee can’t add anybody, managers create schedule, employees can see schedule – possibly only their own schedule)
• Admin is able to limit how many employees can be added by the organization (should be predefined by the package they buy).
• The ability to add new features to the existing services (e.g. the organization bought first quizzes, then wants to add calendar function, more quizzes, more employees etc.), which are then made available to the different parts of the organization, depending on permissions.
• Ability to lock the IP address of organization and employees. I want to ensure that the information can only be accessed from the initial setup IP address.
• Would it be possible to lock the IP address of the organization and the employees separately, or allow a 2nd IP address for employees?

What modules would be recommended?

Every time I think I got an idea of how to set it up, I find more modules that might do the trick and I get more confused.

I saw that the uc_node_access module might help with the integration of limited access to nodes.
Not sure if the content_permissions module would necessary, or if it would be easier to create a view for the schedule that should be viewed by the employees.
I would probably need to setup an organization role and an employee role to predefine who can do what. Should I create specific roles for specific packages, e.g. base package has permission 1, upgrade=1+ additional permissions?
I’m not sure about the organization part. Should I use OG, or what is the best way to set this up?
Also how can I ensure that the organization can only add employees to their own organization and how can I limit the amount of employees?
What is the best way to make new services (packages) available? Especially how would that work if the new package would include a role or permission changes?
How can I set it up, so the organization will automatically get the access to their package and the employees what belongs to them?
Would you recommend Ubercart 1 or 2 for this?

Thanks for the help.

vincew's picture
Offline
Joined: 01/21/2009
Juice: 153
Whoa, That's a lot of things

Whoa,

That's a lot of things you wanna connect and have interacting with each other. I don't know what your experience is on Drupal, Ubercart, programming, etc. Giving relevant info to you is easier when you provide us with that information.

For a start, you could also read up on CiviCRM on http://civicrm.org. This has a lot of the functionality you mentioned and it can be integrated into drupal Smiling

You also should have a serious look at permissions. Different roles have different access. With a clear schema you force yourself to outline your site, permissions and roles. Based on that outline you should look for functions in software/modules you need. Things should dynamically change based on purchases. Ubercart can do that.

- Everything can be done,
- A lot has already been deployed as a module.
- The rest is a matter of creativity

Best
VinceW

-=[ Your Information Matters ]=-

(You may use my personal contact form to discuss drupal/ubercart work.)

go7
go7's picture
Offline
Joined: 03/20/2009
Juice: 5
Hi Vince, Thanks for the

Hi Vince,

Thanks for the info. I have one Drupal website up and running. Just installed Ubercart on a second one and think it's great (lot of features and not too complicated). I don't have real programming experience, but I can get help with that. I'm normally pretty good in mixing up different solutions (modules) to get the results I need. The more complicated the problem is the more fun it is Smiling

I checked CiviCRM and that looks promising, but I'm not sure if it's really what I need. My idea is that when initially an organization signs up, they will receive access to a new organization file that is filled with certain features. The membership area should be setup automatically and no organization would be able to see other organizations that bought the same "feature/product".

Let's say organization x signs up for quizzes and 10 employees - they get access to a membership area that has their info in there + 10 quizzes + they setup the employee information + those 10 employees can take the quizzes. Managers and employees can see the test results.
The next step would be that they add a schedule for these employees. So they would buy the access for that and the schedule would be added to their membership area (managers will have write permission, employees will have read permission).
Other step would be that they buy access for an additional 10 employees. 10 quizzes would be added to the membership area, and now 20 employees can take the quizzes.
So the initial membership area stays the same (contact info, employee info etc.) but new features can be added through purchase.
The most difficult scenario would be that the organization x goes through step 1, but then wants to buy access to the schedule for all employees, but only 10 of the employees would be allowed to take the quizzes.

As far as I can see CiviCRM allows me to setup parent and child memberships, which would be great, because I could sell the parent membership and have different permissions for parent and child. I don't think I would be able to limit how many people have access to the child membership. Do yo think, I might be able to assign new features to new groups and they would be added to the existing membership area?

I think I have knot in my brain, when it comes to the organization part in general. Would I have to sell a new CiviCRM organization to every group, so nobody can see the members of other groups, or how would that work? If that would be the case, does that mean that I would have to manually setup a new organization every time somebody buys?

Can I sell CiviCRM memberships with Ubercart? In the long run I would want to sell digital goods (like manuals) that should be added to the membership area, so Ubercart is definitely a module that I want to use.

Thanks
Gaby

vincew's picture
Offline
Joined: 01/21/2009
Juice: 153
He Gaby, I'm not 'that' well

He Gaby,

I'm not 'that' well known with CiviCRM. I think you should ask on forums over there some specific questions related to that.

Further on i would advise you to do the same on de the OG module. I'm using OG myself and I have been checking out CiviCRM also in the recent past. OG came up as a winner for me because it's has not the size of CiviCRM. I just add what i need, and leave the rest. This makes it also more easy to maintain. I only mentioned CiviCRM to you, because I didn't know what your needs were.

So basically all you need is....

  • Drupal modules. They are capable to set permissions on roles, files, groups, persons, node's, etc
  • OG. Let's you can setup private groups (organisation area as you call it). With OG you can make persons group admin, who can add people to private groups.
  • Ubercart can sell items, do the payments, and accordingly change some access
  • Custom code to glue some things together Smiling

An example:

  1. Make an OG group with defaults
  2. Use FormAPI of a node with UC Node Checkout to create a sign-up form where a new organisation can sign up
  3. Ubercart takes takes the customer to the checkout
  4. Upon payment recievement some glue-ed code can create a new organisation (private group) with the features you defined in step 1.
  5. Give the customer access to the new created group
Quote:

The most difficult scenario would be that the organization x goes through step 1, but then wants to buy access to the schedule for all employees, but only 10 of the employees would be allowed to take the quizzes

Not so difficult IMO. Make 2 products. Product A to give access, product B to take Quiz. Manager of the organisation is able to place orders so can raise number of person who have access to certain organisation features. Smiling Upon payment the manager gets access to a form where to fill in the 10 names of people (in his organisation) allowed to take the quiz.

Best
VinceW

-=[ Your Information Matters ]=-

(You may use my personal contact form to discuss drupal/ubercart work.)