SFTP Server Guide for Schools
Overview
This guide helps school administrators and IT staff set up and use our secure SFTP (SSH File Transfer Protocol) server for uploading student, parent, teacher, and enrollment data. The SFTP server provides a secure way to transfer CSV files that will be automatically processed into your school's database.
What is SFTP?
SFTP (SSH File Transfer Protocol) is a secure file transfer protocol that:
- Encrypts all data during transfer using SSH encryption
- Authenticates users securely using username/password
- Works through firewalls using standard port 22
- Is more secure than traditional FTP
- Is widely supported by most file transfer clients
Account Types: School vs District
School Account (Single School)
When to use: Individual schools managing their own data
Characteristics:
- Scope: Data uploads affect only your specific school
- School ID: Automatically assigned based on your account
- Data Processing: All uploaded data is tagged with your school's ID
- File Processing: Files are processed only for your school's database records
Example: If you're "Lincoln Elementary School", all uploaded data will only affect Lincoln Elementary's records.
District Account (Multiple Schools)
When to use: District administrators managing multiple schools
Characteristics:
- Scope: Can upload data for multiple schools within your district
- School ID: Can specify which school the data belongs to
- Data Processing: Can process data for any school in your district
- File Processing: Files can include school-specific data or district-wide data
Example: If you're "Springfield School District", you can upload data for Lincoln Elementary, Washington Middle School, and Roosevelt High School in combined files.
How to Identify Your Account Type
Your account type is determined when your SFTP account is created. You can identify your account type by:
- Contacting your administrator - They can tell you if you have school or district access
- Checking your upload permissions - District accounts can upload files with school_id columns
- Reviewing your welcome email - Account type is typically mentioned in setup communications
Uploading Data with Different Account Types
School Account Upload Process
1. Upload CSV file (e.g., "students.csv")
2. System automatically assigns your school's ID
3. Data is processed only for your school
4. Records are created/updated in your school's database
District Account Upload Process
1. Upload CSV file with the school_id column populated
2. Data is processed for all the schools in the district
4. Records are created/updated district-wide
CSV File Differences by Account Type
School Account CSV Files
- No school_id column needed - Your school ID is automatically assigned
- Simpler format - Just include the data columns
- Single school scope - All data belongs to your school
Example School Account CSV:
student_localid,firstname,lastname,email
STU001,John,Doe,john.doe@school.edu
STU002,Jane,Smith,jane.smith@school.edu
District Account CSV Files
- Optional school_id column - Specify which school the data belongs to
- Flexible format - Can include school_id or omit it
- Multi-school scope - Data can be for specific schools or district-wide
Example District Account CSV (with school_id):
school_id,student_localid,firstname,lastname,email
12345,STU001,John,Doe,john.doe@lincoln.edu,
12346,STU002,Jane,Smith,jane.smith@washington.edu
Data Processing Behavior
School Account Processing
- Automatic school assignment: All data gets your school's ID
- Single school updates: Only your school's records are affected
- Simplified workflow: No need to specify school information
District Account Processing
- Combined files:
- Differentiate records with
school_id
column → Use the school IDs provided by PTC Wizard
- Differentiate records with
- Multi-school updates: Can affect multiple schools' records
- Enhanced workflow: Can manage data across your entire district
Best Practices by Account Type
- Make sure the files contain all the data you want to import
- Any data in your account that is not in the file will be archived
Troubleshooting Account-Specific Issues
School Account Issues
Issue: "Data not appearing in my school's records" Solution:
- Verify you're using a school account (not district)
- Check that your CSV doesn't include school_id columns
- Contact administrator to verify your school ID assignment
District Account Issues
Issue: "Data uploaded to wrong school" Solution:
- Check that school_id values in your CSV are correct
- Verify school IDs exist in your district
- Contact administrator for a list of valid school IDs
Issue: "Data not processing for specific school" Solution:
- Ensure school_id column is included in your CSV
- Verify school_id values are not empty
- Check that the school exists in your district
Getting Help with Account Types
If you're unsure about your account type or need to change it:
- Contact your system administrator - They can verify your account type
- Request account modification - If you need school vs district access changes
- Review your data scope - Understand what data you can and cannot upload
- Test with small files - Upload test data to verify account behavior
Getting Started
Step 1: Obtain Your Credentials
Your school administrator will provide you with:
- SFTP Server Address:
ftp.ptcwizard.com
- Username: Your school's school or district account name (Contact Support if you are need help finding this value)
- Password: Your school's password when logging into the PTC Wizard administrators tool.
- Port:
22
(standard SFTP port)
Step 2: Choose a File Transfer Client
You'll need an SFTP client to connect to the server. Here are popular options:
Windows Users
- WinSCP (Free) - Most popular Windows SFTP client
- FileZilla (Free) - Cross-platform with SFTP support
- PuTTY/PSFTP (Free) - Command-line tool
Mac Users
- Cyberduck (Free) - User-friendly GUI client
- FileZilla (Free) - Cross-platform option
- Terminal (Built-in) - Command-line using
sftp
command
Linux Users
- FileZilla (Free) - Cross-platform GUI
- Terminal (Built-in) - Command-line using
sftp
command - Nautilus (Built-in) - File manager with SFTP support
File Upload Process
Step 1: Prepare Your CSV Files
Your CSV files should follow these naming conventions:
File Type | Required Filename Pattern | Example |
---|---|---|
Student Data | *student* | students.csv , student_data.csv |
Parent Data | *parent* | parents.csv , parent_info.csv |
Teacher Data | *teacher* | teachers.csv , teacher_list.csv |
Enrollment Data | *enrollment* | enrollments.csv , class_enrollment.csv |
Relationship Data | *relationship* | relationships.csv , parent_student.csv |
Team Data | *team* | teams.csv , class_teams.csv |
Team Enrollment | *team* + *enrollment* | team_enrollment.csv |
Step 2: Upload Files
- Connect to the SFTP server using your chosen client
- Navigate to your home directory (you'll start there automatically)
- Upload your CSV files by dragging and dropping or using the upload button
- Wait for upload to complete - you'll see a progress indicator
- Files are automatically processed - no additional action needed
Step 3: Verify Upload
After uploading, you can verify the files were processed by:
- Checking your school's database for updated records
- Contacting your system administrator for confirmation
- Reviewing any error logs if issues occur
File Format Requirements
CSV File Structure
Your CSV files should:
- Use comma separators (
,
) - Have headers in the first row
- Use UTF-8 encoding
- Include required columns (see table below)
Required Columns by File Type (they must be filled with information and must not be left empty)
Student Data (*student*
)
Required: student_localid,
firstname
, lastname
: Optional
description
, email
, phonenumber
, username
, password
District Only: school_id
(specify which school the student belongs to)
Parent Data (*parent*
)
Required: parent_localid,
firstname
, lastname
, email
Optional: phonenumber
, username
, password
District Only: school_id
(specify which school the parent belongs to)
Teacher Data (*teacher*
)
Required: teacher_localid,
firstname
, lastname
, email
Optional: phonenumber
, titledescription
, virtual_room
, room
, username
, password
District Only: school_id
(specify which school the teacher belongs to)
Enrollment Data (*enrollment*
)
Required: student_localid
, teacher_localid
, section_id
District Only: school_id
(specify which school the enrollment belongs to)
Relationship Data (*relationship*
)
Required: parent_localid
, student_localid
District Only: school_id
(specify which school the relationship belongs to)
Team Data (*team*
)
Required: team_name
, teacher_localid
Optional: team_localid
, room
, virtual_room
District Only: school_id
(specify which school the team belongs to)
Team Enrollment Data (*team*
+ *enrollment*
)
Required: team_name
, student_localid
Optional: team_localid
District Only: school_id
(specify which school the team enrollment belongs to)
Account Type Column Usage
School Accounts
- Don't include
school_id
columns - Your school ID is automatically assigned - Focus on data columns - Include only the student, parent, teacher, etc. information
- Simpler CSV files - Easier to prepare and maintain
District Accounts
- Include
school_id
- Add the school_id column with the PTC Wizard school id for each record in each file. This will allow you to upload only 1 file with all the schools per entity type. - Verify school IDs - Ensure school_id values are correct and exist in your district
Sample CSV Files
Student Data Examples
School Account CSV (no school_id needed):
student_localid,firstname,lastname,email,phonenumber
STU001,John,Doe,john.doe@school.edu,555-1234
STU002,Jane,Smith,jane.smith@school.edu,555-5678
District Account CSV (with school_id for specific schools):
school_id,student_localid,firstname,lastname,email,phonenumber
12345,STU001,John,Doe,john.doe@lincoln.edu,555-1234
12346,STU002,Jane,Smith,jane.smith@washington.edu,555-5678
Parent Data Examples
School Account CSV:
parent_localid,firstname,lastname,email,phonenumber
PAR001,Bob,Doe,bob.doe@email.com,555-9876
PAR002,Mary,Smith,mary.smith@email.com,555-5432
District Account CSV (with school_id):
school_id,parent_localid,firstname,lastname,email,phonenumber
12345,PAR001,Bob,Doe,bob.doe@email.com,555-9876
12346,PAR002,Mary,Smith,mary.smith@email.com,555-5432
Enrollment Data Examples
School Account CSV:
student_localid,teacher_localid,section_id
STU001,TCH001,MATH101
STU002,TCH001,MATH101
STU001,TCH002,ENG201
District Account CSV (with school_id):
school_id,student_localid,teacher_localid,section_id
12345,STU001,TCH001,MATH101
12345,STU002,TCH001,MATH101
12346,STU001,TCH002,ENG201
Troubleshooting Common Issues
Connection Problems
Issue: Cannot connect to SFTP server Solutions:
- Verify the server address is correct
- Check that port 22 is not blocked by your firewall
- Ensure your username and password are correct
- Try connecting from a different network
Issue: "Host key verification failed" Solutions:
- Accept the server's SSH key when prompted
- Clear your known_hosts file if you've changed servers
- Contact your administrator if the key seems suspicious
Upload Problems
Issue: Upload fails or times out Solutions:
- Check your internet connection
- Try uploading smaller files first
- Ensure you have sufficient disk space
- Contact your administrator if the problem persists
Issue: File uploads but doesn't appear in database Solutions:
- Check that your filename follows the naming convention
- Verify your CSV has the required columns
- Ensure your data is properly formatted
- Contact your administrator to check processing logs
File Format Problems
Issue: "Invalid CSV format" errors Solutions:
- Ensure your file uses comma separators
- Check that headers are in the first row
- Verify all required columns are present
- Save your file with UTF-8 encoding
Issue: Data doesn't match expected format Solutions:
- Review the required columns table above
- Check that data types match expectations
- Ensure no special characters in required fields
- Contact your administrator for format specifications
Security Best Practices
Password Security
- Use strong passwords with letters, numbers, and symbols
- Don't share passwords with unauthorized users
- Change passwords regularly as per your school's policy
- Don't save passwords in unsecured locations
File Security
- Verify file contents before uploading
- Don't upload sensitive data unless necessary
- Use secure networks when uploading
- Log out when finished uploading
Network Security
- Use trusted networks for file transfers
- Avoid public Wi-Fi for sensitive uploads
- Keep your SFTP client updated
- Report suspicious activity to your administrator
Getting Help
Before Contacting Support
- Check this guide for solutions to common issues
- Verify your connection details are correct
- Test with a small file to isolate the problem
- Check your internet connection and firewall settings
When Contacting Support
Please provide:
- Your school name and contact information
- SFTP username (not password)
- Error messages you're seeing
- Steps you've already tried
- Screenshots if helpful
Support Channels
- Email: support@ptcwizard.com
- Phone: (855) 782-9492
Frequently Asked Questions
Q: How long does it take for uploaded files to be processed?
A: Most files are processed within minutes of upload. Large files may take longer.
Q: Can I upload multiple files at once?
A: Yes, you can upload multiple files simultaneously. Each file will be processed independently.
Q: What happens if I upload a file with the wrong name?
A: Files that don't match the naming convention will be ignored and not imported to the system.
Q: Can I overwrite existing data?
A: Yes, uploading new data will replace existing records for the same school.
Q: Is there a file size limit?
A: There's no strict limit, but files over 10MB may take longer to process.
Q: What if I need to upload data for multiple schools?
A: Contact your administrator to set up district-level access if you manage multiple schools. District accounts can upload data for multiple schools by including the school_id
column in CSV files.
Q: How do I know if I have a school or district account?
A: Contact your administrator to verify your account type. District accounts can include school_id
columns in CSV files, while school accounts automatically assign your school's ID.
Q: Can I change from a school account to a district account?
A: Yes, contact your administrator to request account type changes. This requires updating your account permissions and may affect how your data is processed.
Q: What happens if I include school_id in my CSV but I have a school account?
A: The school_id
column will be ignored, and your data will be processed with your school's automatically assigned ID. It's recommended to omit school_id
columns for school accounts.
Q: What happens if I don't include school_id in my CSV but I have a district account?
A: The data will be processed using your district's ID which will result in corrupt information.
Q: After I uploaded the files I don't see the class enrollment connections.
A: Try uploading the enrollment file again. The files are all processed in parrallel so if you upload the enrollment file or relationship file before the parent,teacher or student file then the information may not import correctly. Reuploading the files will fix the issue.
Additional Resources
- SFTP Client Downloads: https://winscp.net/ (Windows), https://cyberduck.io/ (Mac)
- CSV Format Guide: https://en.wikipedia.org/wiki/Comma-separated_values
- School Data Standards: Contact your administrator for specific requirements
- Training Materials: Available through your school's IT department
Last updated: [Current Date] For technical support, contact your school's IT administrator or our support team.