How to solve use case below

Hi All,

Can anyone help to solve below means how it can be implemented:

How to implement below use case?

Use Case:
#1
Our school is currently using an old inhouse built software to host student profiles.
As an administrator i would like to be able to create user profiles within the CRM.
Using the student number i would like to integrate with our old software to pull vital information
to the CRM after the student profile is created.

Technical Requirements:

1. Change the name of the contacts module to Students
2. Create a new view/field controller.
2.1 New controller should be named student ID
2.2 It should have a student ID background and the space where the students image, name and student number should be in-line with the ID image
3. When a student number is added to the UI some of the fields should be read only. The fields that are synchronized should not be editable
4. There needs to be a way to control/configure the fields that are synchronized and non-editable.
5. When a student record is saved and the student number field has a value call an API to fetch data (such as address, phone number, etc.) and populate the student record
5.1 Please upload a temporary JSON file to the internet and integrate with that. You can use google for this.

Please follow the instructions for Use Case Scenario.

#use case 2

As an administrator, i want to link students to classes and view the grades they have per class and know if they are passing or failing

Technical Requirements:

1. Create 2 modules

1.1 Create module Subject

1.2 Create module Grade

1.3 Add field Year level to the student profile (dropdown: 1, 2, 3, 4)

2. A subject is linked M-M to a student

3. A Grade is linked One to one with the student and the subject

4. When a grade is added, modified and/or deleted it should run a calculation to the student module. The calculation is sum(all related grades) / count(grades)

5. When linking a subject to a student profile it should auto filter the subject by the year level of the student

6. Create a report (list) that will show all the student that ARE qualified for the subject BUT HAVE NOT enrolled in a subject based on the year level of subject and student

Kindest Regards,

Shreya

Parents
  • Hi Shreya,

    I take it you are quite new to Sugar and Sugar Administration/Development.

    What you are asking for here is not terribly difficult but does require a detailed understanding of Sugar's structure and development framework. The integration in particular will require some custom coding that is also highly dependent on your other system and what that looks like.

    I can give a few pointers below but you can't expect an exhaustive answer on the forum for this is rather a lot of work and code to achieve what you are after.

    You really have two options, one is to start working on the on-boarding-framework and learn more about Sugar Administration and Development. 

     On-Boarding Framework 

    The second, is to hire someone to do the work for you. There are some Sugar Partners here who do that very professionally, 

    Unless you can take the time to learn more about Sugar before embarking on this, I would strongly suggest you reach out to someone with more experience for this first project and follow them closely to see how they bring it all together.

    Having said all that, here are the pointers I promised:

    1. Change the name of the contacts module to Students

    https://support.sugarcrm.com/documentation/sugar_versions/13.0/ent/administration_guide/developer_tools/studio/#Editing_Labels

    2. Create a new view/field controller.

    You don't need a new view, you can just edit the Contacts layout to match your needs.


    2.1 New controller should be named student ID

    I don't believe this would be a new controller, but rather a new field in your Contacts Module for the studentID

    You can create a new field using Studio:

    support.sugarcrm.com/.../


    2.2 It should have a student ID background and the space where the students image, name and student number should be in-line with the ID image

    You can edit the custom/modules/Contacts/clients/base/view/record/record.php to place the student ID next to name at the top if that's what you are trying to do.


    3. When a student number is added to the UI some of the fields should be read only. The fields that are synchronized should not be editable

    Dependency Actions should help you achieve this:

    support.sugarcrm.com/.../


    4. There needs to be a way to control/configure the fields that are synchronized and non-editable.

    You can configure your other system to call a SugarAPI and update fields on the Contacts record based on studentID

    https://support.sugarcrm.com/documentation/sugar_developer/sugar_developer_guide_13.2/integration/web_services/rest_api/


    5. When a student record is saved and the student number field has a value call an API to fetch data (such as address, phone number, etc.) and populate the student record

    This depends on your other system and its capabilities and APIs, but it will require code.


    5.1 Please upload a temporary JSON file to the internet and integrate with that. You can use google for this.

    I'm not sure what you mean here.

    As for your second case I would design it differently:

    - a module for Courses

    This is basically your course catalog with course name, dates, probably some information on who is teaching that unit for that semester/year... it really depends on whether you are building for Higher Education or some other institution.

    - a module for Course Work where you have relate fields for Course and Student some dates for when the course, a status (enrolled, in progress, completed, dropped) and a grade.

    You can build new modules using Module Builder, but again, you need to know how all the pieces work together from Modules, to Relate Fields to Relationships (which may look the same but are different from relate fields).

    support.sugarcrm.com/.../

    You have a long road ahead of you, but we all started where you are.

    Best of luck!

    FrancescaS

Reply
  • Hi Shreya,

    I take it you are quite new to Sugar and Sugar Administration/Development.

    What you are asking for here is not terribly difficult but does require a detailed understanding of Sugar's structure and development framework. The integration in particular will require some custom coding that is also highly dependent on your other system and what that looks like.

    I can give a few pointers below but you can't expect an exhaustive answer on the forum for this is rather a lot of work and code to achieve what you are after.

    You really have two options, one is to start working on the on-boarding-framework and learn more about Sugar Administration and Development. 

     On-Boarding Framework 

    The second, is to hire someone to do the work for you. There are some Sugar Partners here who do that very professionally, 

    Unless you can take the time to learn more about Sugar before embarking on this, I would strongly suggest you reach out to someone with more experience for this first project and follow them closely to see how they bring it all together.

    Having said all that, here are the pointers I promised:

    1. Change the name of the contacts module to Students

    https://support.sugarcrm.com/documentation/sugar_versions/13.0/ent/administration_guide/developer_tools/studio/#Editing_Labels

    2. Create a new view/field controller.

    You don't need a new view, you can just edit the Contacts layout to match your needs.


    2.1 New controller should be named student ID

    I don't believe this would be a new controller, but rather a new field in your Contacts Module for the studentID

    You can create a new field using Studio:

    support.sugarcrm.com/.../


    2.2 It should have a student ID background and the space where the students image, name and student number should be in-line with the ID image

    You can edit the custom/modules/Contacts/clients/base/view/record/record.php to place the student ID next to name at the top if that's what you are trying to do.


    3. When a student number is added to the UI some of the fields should be read only. The fields that are synchronized should not be editable

    Dependency Actions should help you achieve this:

    support.sugarcrm.com/.../


    4. There needs to be a way to control/configure the fields that are synchronized and non-editable.

    You can configure your other system to call a SugarAPI and update fields on the Contacts record based on studentID

    https://support.sugarcrm.com/documentation/sugar_developer/sugar_developer_guide_13.2/integration/web_services/rest_api/


    5. When a student record is saved and the student number field has a value call an API to fetch data (such as address, phone number, etc.) and populate the student record

    This depends on your other system and its capabilities and APIs, but it will require code.


    5.1 Please upload a temporary JSON file to the internet and integrate with that. You can use google for this.

    I'm not sure what you mean here.

    As for your second case I would design it differently:

    - a module for Courses

    This is basically your course catalog with course name, dates, probably some information on who is teaching that unit for that semester/year... it really depends on whether you are building for Higher Education or some other institution.

    - a module for Course Work where you have relate fields for Course and Student some dates for when the course, a status (enrolled, in progress, completed, dropped) and a grade.

    You can build new modules using Module Builder, but again, you need to know how all the pieces work together from Modules, to Relate Fields to Relationships (which may look the same but are different from relate fields).

    support.sugarcrm.com/.../

    You have a long road ahead of you, but we all started where you are.

    Best of luck!

    FrancescaS

Children
No Data