Draft:MediaWiki Setup Documentation for abhiprayavedi.org

From AbhiprayaVedi
**MediaWiki Setup Documentation for abhiprayavedi.org**  
**Version: English Journalistic Article Workflow (as of May 2026)**

### 1. Project Overview
- **Purpose**: Private wiki for editorial boards, research collectives, pre-publication workflows, and final publishing.  
- **Focus**: Started with **English journalistic-type articles**. Malayalam and other formats (research papers, books, scripts) to be added later.  
- **Core Philosophy**: Use only built-in MediaWiki + installed extensions (no heavy custom extensions beyond what's already enabled).  
- **Key Constraint**: Private wiki — anonymous users see only published articles (Main namespace) + login page.

### 2. Namespaces & Permissions

| Namespace          | Anonymous Access | Logged-in Users          | Sysop/Admin Access     | Purpose |
|--------------------|------------------|--------------------------|------------------------|--------|
| **Submissions**    | ❌               | ❌ (unless sysop)        | ✅ (full)              | Initial user submissions |
| **Draft**          | ❌               | ✅                       | ✅                     | Work-in-progress |
| **Main**           | ✅               | ✅                       | ✅                     | Published public articles |
| **Articles**       | ✅               | ✅                       | ✅                     | Alternative/organizational |
| **AbhiprayaVedi**  | ✅               | ✅                       | ✅                     | Future Malayalam content |

**Global Read Disabled** — Only whitelisted pages (published Main namespace + login/special pages) are visible to anonymous users.

### 3. Installed Extensions Used
- **PageForms** — Core for structured submission forms.
- **VisualEditor** — Rich editing for content and form fields.
- **ParserFunctions** — Conditionals (`#if`), date formatting, etc.
- **WikiEditor** — Source editing fallback.
- Others: Cite, CategoryTree, etc. (minor use).

### 4. Overall Architecture & Workflow

**User Workflow (Logged-in Contributors)**:
1. Click **"Submit Article"** link in sidebar → goes to helper page with `#forminput`.
2. Fill **EnglishArticleSubmission** form (compulsory + optional fields).
3. Page is automatically created in **Submissions:** namespace with `{{EnglishArticle|...}}` template transcluded.
4. User can preview/save.

**Admin/Editorial Workflow**:
1. Admins visit **Admin:SubmissionsDashboard** (or use Special:NewPages + CategoryTree) to see pending submissions.
2. Review/edit article (VisualEditor or source) — check copyright, improve formatting, add images if needed.
3. **Publish** by using **Move Page** (Special:MovePage) from `Submissions:XXX` → `Main:XXX` (preserves history, simple & clean).
4. Optional: Update status, add reviewer notes, etc.

**Level of Automation**: Medium  
- Form auto-creates structured page with template.  
- No automatic approval/publishing (manual admin step — as requested).  
- Categories auto-assigned.  
- DISPLAYTITLE for pretty titles.  
- Conditionals hide empty sections.

### 5. Main Components

#### A. Template: **Template:EnglishArticle**
Location: `Template:EnglishArticle`

**Key Features**:
- Uses `{{DISPLAYTITLE:...}}` for clean browser tab + page title (supports complex display names).
- Custom header with title, author (bold + larger), date.
- Right sidebar (float) with thumbnail + highlights.
- Highlighted intro box.
- Direct `{{{content}}}` output for clean paragraphs (no indentation blocks).
- Conditional display for optional fields (author bio, source attribution, category).
- Inline CSS for layout (sober, journalistic style).

**Current Top Structure** (cleaned version):
```wikitext
{{DISPLAYTITLE:{{{display_name|{{{title|No Title Provided}}}}}}}}

<div class="article-header" style="margin-bottom:8px; line-height:1.2;">
'''{{{display_name|{{{title|No Title Provided}}}}}'''<br style="margin:0; padding:0;">
''By <span style="font-weight:bold; font-size:1.3em;">{{{author|Anonymous}}}</span>'' 
<span style="margin-left:8px;">({{#if: {{{date|}}} | {{{date}}} | {{CURRENTDAY}}-{{CURRENTMONTH}}-{{CURRENTYEAR}} }})</span>
</div>

<!-- Sidebar, Intro box, Content, etc. follow -->
```

#### B. Form: **Form:EnglishArticleSubmission**
Location: `Form:EnglishArticleSubmission`

- Uses PageForms with clear sections (Compulsory, Images, Highlights, Source Attribution).
- Fields map directly to template parameters.
- VisualEditor enabled for the main `content` field.
- Mandatory fields enforced on title, author, intro, content, etc.
- Image upload support.
- Dropdown for categories.

**Access**: Via sidebar link → `#forminput` helper page (recommended).

#### C. Helper Pages
- **Project:SubmitArticle** (or similar) — Contains `#forminput` box for user-friendly title entry + namespace pre-set to Submissions.
- **Admin:SubmissionsDashboard** — Lists recent submissions.

#### D. Styling & Layout
- **Inline CSS** (in template): Sidebar float, intro highlight box, header compactness, highlight boxes.
- **MediaWiki:Common.css** (for future):
  - Category-based background colors (mild/sober tones).
  - Global tweaks if needed.
- VisualEditor-friendly (users can insert images manually inside content).

### 6. Current Status & Known Minor Issues
- **Working Well**: Form submission, template rendering, clean paragraphs, sidebar, intro styling, category display, publishing via page move.
- **Resolved**: First-paragraph block issue, DISPLAYTITLE literal text, stray braces (after multiple brace fixes).
- **Pending Fine-tuning**:
  - Extra vertical space between title and "By Author" line (empty paragraph in VE).
  - Form field labels sometimes not showing (placeholders compensate well).
  - Full category color scheme.

### 7. Recommendations for Next Steps
1. Finalize header spacing (use the compact version with inline date).
2. Add category color classes in Common.css.
3. Create index/Main Page with recent articles gallery (using CategoryTree or DPL if installed).
4. Duplicate for Malayalam (new template + form).
5. Expand to research papers later.

---

**How to Maintain**:
- Always purge pages (`?action=purge`) after template/form changes.
- Test new submissions end-to-end.
- Backup `LocalSettings.php`, templates, and database regularly (shared hosting).

This setup gives you a clean, structured, editor-friendly workflow while keeping things simple and maintainable.