Ganaka DMS User Guide

This guide explains how to install, access, and use the Ganaka Document Management System. It includes live portal screenshots and a practical walkthrough of the main modules used by administrators and end users.

Portal URL: http://localhost/dms/ Default Login: admin@example.com Default password: password123 Pagination: latest 25 records per page

Getting Started

Use these credentials to access the portal immediately after installation in the current XAMPP setup.

Login Details

  • Portal URL: http://localhost/dms/
  • Username: admin@example.com
  • Password: password123

First Login Advice

After signing in, change the administrator password and update the portal branding, SMTP settings, and OpenAI settings from the Settings module.

User Roles and Permissions

The portal supports four main user roles. Their access levels are defined below based on the current system permission rules.

Admin

  • Full administrative access to the entire portal.
  • Manage users and role-based access.
  • Manage categories and portal settings.
  • Upload, edit, assign, approve, and archive documents.
  • View email logs and audit logs.

Manager

  • Manage categories.
  • Upload and edit documents.
  • Assign documents to users.
  • Approve and archive documents.
  • View email logs and audit logs.

Editor

  • Upload new documents.
  • Edit document metadata and document versions where permitted.
  • View assigned and permitted documents.
  • Cannot manage users, categories, system settings, or audit/email logs.

Viewer

  • Read-only access to documents allowed by role or direct permission.
  • Can view document details, previews, metadata, and FAQ content.
  • Cannot upload, edit, assign, approve, archive, or manage portal settings.

Contents

1. Installation on XAMPP

Use these beginner-friendly steps to run the portal locally on Windows through XAMPP.

Step 1: Install XAMPP

  1. Install XAMPP on Windows.
  2. Open XAMPP Control Panel.
  3. Start Apache and MySQL.

Step 2: Copy Application Files

  1. Copy the full project folder to C:\xampp\htdocs\dms.
  2. Confirm the public, src, database, and storage folders are present.

Step 3: Create the Database

  1. Open phpMyAdmin from XAMPP.
  2. Click New.
  3. Enter database name: dms.
  4. Choose utf8mb4 if asked for collation/character set.
  5. Click Create.

Step 4: Import the Main Schema

  1. Select the dms database in phpMyAdmin.
  2. Click the Import tab.
  3. Select database/schema.sql.
  4. Click Go and wait for the import success message.

Step 5: Confirm Database Import

All required tables are already included in the main schema file for the current package.

Import only database/schema.sql. No separate migration import is required.

Step 6: Configure the Application

  1. Open the project .env file.
  2. Confirm these values match your local XAMPP setup:
APP_URL=http://localhost/dms/public DB_HOST=127.0.0.1 DB_PORT=3306 DB_NAME=dms DB_USER=root DB_PASS=
  1. Save the file after editing.

Step 7: Check Folder Permissions

  1. Make sure storage/documents exists.
  2. Ensure PHP can write uploaded files into that folder.

Step 8: Open the Portal

  1. Open http://localhost/dms/ in your browser.
  2. The root folder redirects automatically to /public/index.
  3. Login using the default administrator account.

Step 9: Configure Portal Settings After Login

  1. Go to Settings > Settings.
  2. Update portal name, logo, font size, and default language.
  3. Configure SMTP if you want real email delivery.
  4. Add your OpenAI API key if you want AI chat features.
Recommended PHP extensions: pdo_mysql, mbstring, curl, fileinfo, openssl, xml, and zlib.

2. Installation on cPanel / Others

Use this method when publishing the portal on shared hosting or a cPanel-based server.

Step 1: Create Database and User

  1. Open cPanel.
  2. Go to MySQL Databases.
  3. Create a database.
  4. Create a database user.
  5. Assign the user to the database with All Privileges.

Step 2: Upload Files

  1. Upload the project files using File Manager or FTP.
  2. Place the project in the directory where you want the application to run.

Step 3: Import Database Files

  1. Open phpMyAdmin from cPanel.
  2. Select your newly created database.
  3. Import database/schema.sql.

Step 4: Edit the Environment File

  1. Open .env in File Manager or your editor.
  2. Set your live values for database and application URL.
APP_URL=https://yourdomain.com/dms/public DB_HOST=localhost DB_PORT=3306 DB_NAME=your_cpanel_database_name DB_USER=your_cpanel_database_user DB_PASS=your_database_password

Step 5: Set the Public Path

  1. If your host allows it, point the domain or subfolder document root to the public directory.
  2. If not, keep the system in a subfolder and access it through the public folder path.

Step 6: Final Configuration

  1. Login with the administrator account.
  2. Configure portal branding, SMTP, language, and OpenAI key from the Settings page.
  3. Test document upload and AI chat before going live.
Before going live, enable real SMTP settings and change the default administrator password.

OpenAI API Key Setup

Use this section when you want AI chat to work in the portal.

How to Create an OpenAI API Key

  1. Sign in to the OpenAI Developer Platform.
  2. Open the API keys page in your project/dashboard.
  3. Create a new secret key.
  4. Save the key immediately in a secure place. The full secret key is shown only when it is created.
  5. Optionally choose permissions such as All, Restricted, or Read Only when available.

How to Add the Key in Ganaka DMS

  1. Login to the portal as administrator.
  2. Go to Settings > Settings.
  3. Find the OpenAI section.
  4. Paste the API key into OpenAI API Key.
  5. Leave the model as default or enter the model you want to use.
  6. Click Save Settings.

Important Security Notes

OpenAI key creation and permissions are managed from the OpenAI Developer Platform, while the Ganaka DMS Settings page is where you store the key for this application.

3. Login Page

The login screen is the secure entry point for all users. Authentication checks user status and role before allowing access to the portal.

Ganaka DMS login page screenshot
Login page with portal branding, email field, password field, and sign-in button.

4. Dashboard

The dashboard gives an operational summary of the document library and indexing activity. It is the fastest place to review volume, workflow, and recent updates.

Ganaka DMS dashboard screenshot
Dashboard showing analytics cards, indexed document counts, category breakdown, and the latest document list.

5. Documents

The documents module is the main listing screen for the repository. It supports metadata search, workflow filtering, and direct access to individual document records.

Ganaka DMS documents page screenshot
Documents list with search, status filter, version display, and open action for each record.

6. Assignments

The assignments page tracks document handoffs and review work between users. Managers can use it to follow due dates and current assignment status.

Ganaka DMS assignments page screenshot
Assignments module with search, status filter, and assignment tracking table.

7. Upload

The upload module creates a new document record and stores the first file version. PDF documents are indexed automatically with metadata and extracted text when available.

Ganaka DMS upload page screenshot
Upload form for document metadata and file attachment.

8. FAQ

The FAQ module provides a searchable knowledge section inside the portal. It is useful for policy notes, support questions, and quick technical references.

Ganaka DMS FAQ page screenshot
FAQ page with accordion layout, category filter, and admin entry form.

9. Settings Menu

The top navigation groups administration screens under the Settings menu. These screens help maintain categories, users, branding, mail activity, and audit visibility.

Categories

Create and maintain document categories used in upload forms, document records, and FAQ classification.

  • Add category name and description.
  • Delete categories when they are no longer required.
  • Paginated category list.

Users

Create users, assign roles, and define account status for portal access.

  • Add users with password, role, and status.
  • View current user list and role assignment.
  • Paginated user management view.
  • Anonymous self-registration can create viewer accounts after email activation.

Settings

Control portal branding, theme colour, font size, default language, SMTP, and OpenAI settings.

  • Portal name and logo upload.
  • Theme, font size, and language selection.
  • SMTP sender and server configuration.
  • OpenAI API key and model storage.
  • Create Account by Anonymous option to enable or disable public signup.

Emails

Review email notification history recorded by the system.

  • Recipient, subject, related document, and status.
  • Helpful for troubleshooting SMTP setup.

Audit

Track login events and key management actions across the portal.

  • Date, user, action, entity, IP address, and details.
  • Useful for accountability and compliance review.

Categories

Ganaka DMS categories page screenshot
Categories page for maintaining document and FAQ category values.

Users

Ganaka DMS users page screenshot
Users page with add form, role selection, and status management.

Settings

Ganaka DMS settings page screenshot
Settings page covering branding, portal preferences, SMTP, and OpenAI configuration.

Emails

Ganaka DMS emails page screenshot
Email log view for notification monitoring and troubleshooting.

Audit

Ganaka DMS audit page screenshot
Audit log showing system activity, user actions, and event details.

10. Document Sharing

The document detail page now supports secure external sharing by email.

11. Anonymous Account Creation

Ganaka DMS can optionally allow public account creation from the login page.

  1. Administrator opens Settings > Settings.
  2. Set Create Account by Anonymous to Yes.
  3. The login page will show the Create Account button.
  4. User submits name, mobile, email, and address.
  5. An activation link is sent to the submitted email address.
  6. User clicks the activation link, sets a password, and the account becomes active with default viewer permission.