College Attendance Management System
Introduction
This document outlines the requirements and implementation steps for developing a College
Attendance Management System in Salesforce. It covers the initial setup, data model
configuration, user interface customization, automation, security, and advanced features
including validation rules, screen flows, record-triggered flows, and scheduled flows.
Phase 1: Initial Setup and Configuration
1. Salesforce Org Setup
● Create Salesforce Developer Org: Sign up for a free Salesforce Developer Org for
development and testing.
2. User Management
● User Roles:
o Administrator
o Teacher
o Student
● Profiles:
o Admin Profile (Full access)
o Teacher Profile (Restricted access)
o Student Profile (Limited access)
● Permission Sets:
o Admin Permission Set (Full permissions)
o Teacher Permission Set (Access to mark attendance, view classes, and
generate reports)
o Student Permission Set (Access to view attendance records)
Phase 2: Data Model Setup
1. Custom Objects
● Student:
o Fields: Name, Roll Number, Course (Lookup to Course), Year, Contact
Information, Parent Contact, Email.
● Course:
o Fields: Name, Course Code, Description, Department.
● Class:
oFields: Name, Teacher (Lookup to User), Course (Lookup to Course),
Schedule, Room Number.
● Attendance:
o Fields: Date, Student (Lookup to Student), Class (Lookup to Class), Status
(Picklist: Present, Absent, Late), Remarks.
● Conference Object:
o Fields: Name, Budget, Date, Venue, Organizer, Status Picklist (Planned,
Ongoing, Completed), Amount, Approval Status (Pending, Rejected,
Approved)
● Fees:
o Fields: Student Name (Lookup from Student), Fee Type (Tuition, Hostel,
Transportation, Miscellaneous), Fee Amount, Payment Status Picklist
(Pending, Paid, Overdue), Due Date
● Salary:
o Fields: Teacher Name (Lookup from Teacher), Salary Amount, Payment
Date, Payment Status (Pending, Paid)
2. Define Relationships
● Lookup relationship from Student to Course.
● Lookup relationship from Class to Course and User.
● Lookup relationship from Attendance to Student and Class.
3. Validation Rules
1. Student Validation Rules
1.1 Ensure Roll Number is Unique
1.2 Ensure Email is in Correct Format
1.3 Ensure Contact Number is Valid
2. Course Validation Rules
2.1 Ensure Course Code is Unique
2.2 Ensure Course Name is Not Duplicate
3. Class Validation Rules
3.1 Ensure Schedule is Not Blank
3.2 Ensure Room Number is Valid
4. Attendance Validation Rules
4.1 Ensure Attendance Date is Not a Future Date
4.2 Ensure Attendance Status is Selected
5. Fees Validation Rules
5.1 Ensure Valid Fee Amount
5.2 Ensure Due Date is in the Future
6. Salary Validation Rules
6.1 Ensure Valid Salary Amount
6.2 Ensure Payment Date is Not in the Future
Create a custom field on Salary object.
Label: Expense Amount
Datatype: Currency
This field contains the amount spent by an employee for official purpose.
7. Salary Validation Rules
7.1 Ensure Valid Expense Amount
7.2 Ensure Expense Date is Not in the Future
Phase 3: User Interface Customization
1. Create Custom Tabs
● Students
● Courses
● Classes
● Attendance
● Conference
● Fees
● Salary
Create an app—College Management System. Add the above tabs to it.
2. Design Layouts
● Customize page layouts for Student, Course, Class, and Attendance objects.
● Ensure fields are displayed in an intuitive and user-friendly manner.
Record Types
1. Student Record Types
1.1 Undergraduate Student
● Page Layout: Custom layout for undergraduate students.
● Fields: Name, Roll Number, Course, Year, Contact Information, Parent Contact,
Email.
1.2 Postgraduate Student
● Page Layout: Custom layout for postgraduate students.
● Fields: Name, Roll Number, Course, Year, Contact Information, Parent Contact,
Email, Research Topic.
1.3 International Student
● Page Layout: Custom layout for international students.
● Fields: Passport Number, Visa Status, Country of Origin, Additional Contact
Information.
2. Course Record Types
2.1 Mandatory Course
● Page Layout: Custom layout for mandatory courses.
● Fields: Name, Course Code, Description, Department.
2.2 Elective Course
● Page Layout: Custom layout for elective courses.
● Fields: Name, Course Code, Description, Department, Elective Criteria.
2.3 Online Course
● Page Layout: Custom layout for online courses.
● Fields: Course Platform, Access Link, Online Instructor.
3. Class Record Types
3.1 Lecture
● Page Layout: Custom layout for lecture classes.
● Fields: Name, Teacher, Course, Schedule, Room Number.
3.2 Lab
● Page Layout: Custom layout for lab classes.
● Fields: Name, Teacher, Course, Schedule, Room Number, Lab Equipment.
3.3 Seminar
● Page Layout: Custom layout for seminar classes.
● Fields: Seminar Topic, Speaker, Schedule, Location.
4. Attendance Record Types
4.1 Regular Attendance
● Page Layout: Custom layout for regular attendance.
● Fields: Date, Student, Class, Status, Remarks.
4.2 Extra Credit Attendance
● Page Layout: Custom layout for extra credit attendance.
● Fields: Date, Student, Class, Status, Remarks, Extra Credit Points.
4.3 Excused Absence
● Page Layout: Custom layout for excused absences.
● Fields: Date, Student, Class, Reason, Status (Excused).
5. Conference Record Types
5.1 Academic Conference
● Page Layout: Custom layout for academic conferences.
● Fields: Name, Date, Budget, Venue, Speaker List, Agenda.
5.2 Administrative Conference
● Page Layout: Custom layout for administrative conferences.
● Fields: Name, Date, Budget, Venue, Organizer, Department.
11-07-2024
Roles Creation
Create Roles as Principal, HOD, Teacher, Student.
Assign Managers to the respective Users
Phase 4: Automation Approval Processes
Create Leave Request Object with the fields Student ID (Lookup to Student), Student Name, Leave
Category (Medical, Personal), Leave Re--ason, Date, Supporting Documents, Leave Status
(Approved, Rejected, In Review)
1. Student Leave Approval Process
1.1 Description
This process ensures that student leave requests are reviewed and approved by the appropriate
authorities.
1.2 Steps
1. Student Submits Leave Request
Student fills out and submits the leave request form with details such as leave dates, reason for leave,
and any supporting documents.
2. Initial Approval by Class Teacher
● The leave request is first sent to the class teacher for initial review and approval.
● The class teacher can approve, reject, or request additional information from the student.
3. Final Approval by Head of Department (HoD)
● If approved by the class teacher, the leave request is forwarded to the Head of Department for
final approval.
● The HoD can approve, reject, or request additional information.
4. Notification to Student
Once the leave request is approved or rejected by the HoD, the student is notified of the
decision via email.
1.3 Criteria
● Entry Criteria: A new leave request record is created.
● Exit Criteria: The leave request is approved or rejected by the HoD.
1.4 Actions
● Approval Actions: Notify the student and update the leave status to "Approved".
● Rejection Actions: Notify the student and update the leave status to "Rejected".
● Recall Actions: Return the leave request to the previous approver or the student for additional
information.
1.5 Email Templates
Create appropriate Email Templates for Approval and Rejection and get the data dynamically
from the Leave Request Object.
1.6 Users
● Submitter: Student
● Approvers: Class Teacher, Head of Department (Admin)
2.Mark Attendance Flow
Create a custom button on Teacher Detail Page
Label: Mark Attendance
On click of it, user should be able to see the following screens
Screen 1:
● Class– (Lookup to Class)
● Course–(Lookup to Course)
● Date–Date for which the attendance is marked
Screen 2:
● Display all the student records filtered based on the course selected above.
● Display the following fields from the Attendance object– Name of the student, Roll
No, Status.
● Allow the user to select the status for the above records.
Expected output:
Attendance records should be created for Regular Attendance Record Type with Class,
Course, Date, Student Name, Roll No and Status fields populated with the values selected in
the previous screens.