BookStack، Wiki.js یا Outline: کون سا wiki بہتر ہے؟
BookStack، Wiki.js اور Outline کا self-hosted wiki موازنہ: setup، editing model، login اور search دیکھیں، پھر solo admin یا team کے لیے موزوں انتخاب کریں۔
کون سا self-hosted wiki چلانا چاہیے
self-hosted wiki آپ کی ٹیم کی دستاویزات کو ایک ایسے server پر ایک searchable جگہ میں رکھتا ہے جس کا control آپ کے پاس ہو۔ BookStack، Wiki.js اور Outline تینوں یہ کام کرتے ہیں۔ ان میں بنیادی فرق اس بات کا ہے کہ پہلے page کے load ہونے سے پہلے آپ کو کتنی configuration خود تیار کرنی پڑتی ہے، اور login کی اجازت کن لوگوں کو ہے۔
BookStack کو چلانا سب سے آسان ہے اور اس کا structure سب سے زیادہ متعین ہے۔ Wiki.js ایک ہی page tree کے اندر editors کے انتخاب کی سب سے زیادہ گنجائش دیتا ہے۔ Outline تینوں میں writing experience کے لحاظ سے بہتر ہے، لیکن جب تک آپ کسی بیرونی identity provider سے connect نہ کریں، یہ کسی کو sign in کرنے کی اجازت نہیں دیتا۔
ذیل کی تمام معلومات خود projects کی documentation اور ان کی شائع کردہ configuration files سے لی گئی ہیں۔ یہ capabilities کا تقابلی جائزہ ہے، benchmark نہیں۔ Version numbers اور requirements کے ساتھ تاریخ درج کی گئی ہے، کیونکہ تینوں projects مسلسل تبدیل ہوتے رہتے ہیں۔
اصل انتخاب structure ہے
BookStack آپ کے content کی ساخت طے کرتا ہے۔ ایک page کسی book کے اندر ہوتا ہے، ایک book میں chapters ہو سکتے ہیں، اور shelves، books کو گروپ کرتی ہیں۔ آپ پانچواں level نہیں بنا سکتے۔ یہی product کی بنیادی خصوصیت ہے: نئے writer کو معلوم ہوتا ہے کہ page کہاں رکھنا ہے، کیونکہ اس کے لیے صرف ایک جگہ موجود ہے۔ اس کی قیمت یہ ہے کہ جو content اس ساخت میں فٹ نہ آئے، اسے اسی میں زبردستی شامل کرنا پڑتا ہے۔
Wiki.js، disk پر موجود folders جیسا path tree استعمال کرتا ہے۔ ops/backup/restic پر موجود page آپ کی مقرر کردہ جگہ پر ہوتا ہے، اور آپ اس کی depth منتخب کرتے ہیں۔ کوئی چیز دو لوگوں کو ایک ہی subject کو دو مختلف branches کے تحت درج کرنے سے نہیں روکتی۔ اس لیے Wiki.js instance میں ایک ایسا شخص ہونا چاہیے جو tree کا ذمہ دار ہو۔
Outline میں collections استعمال ہوتی ہیں، جن کے اندر documents nested ہوتے ہیں۔ کسی document کو منتقل کرنے کے لیے mouse سے drag کرنا کافی ہے۔ تینوں میں یہ سب سے زیادہ flexible ہے، اس لیے اس میں structure کو آہستہ آہستہ بکھرنے دینا بھی سب سے آسان ہے۔
BookStack: مختصر ترین تنصیب
BookStack ایک PHP ایپلی کیشن ہے جو MySQL پر انحصار کرتی ہے۔ جولائی 2026 تک دستاویزی تقاضوں میں PHP 8.2 یا اس کے بعد کا ورژن، اور MySQL 8.0 یا MariaDB 10.6 یا اس کے بعد کا ورژن شامل ہیں۔ اگر آپ source سے تنصیب کریں تو Composer 2.2 یا اس کے بعد کا ورژن بھی درکار ہے۔ موجودہ release line 26.05 ہے۔
پروجیکٹ ہر Ubuntu release کے لیے ایک installation script فراہم کرتا ہے۔ 24.04 script آپ کے لیے Apache، MySQL 8.0 اور PHP 8.3 انسٹال کرتی ہے۔
wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-24.04.sh
chmod a+x installation-ubuntu-24.04.sh
sudo ./installation-ubuntu-24.04.shاس script کو چلانے سے پہلے اس میں موجود warning پڑھیں۔ دستاویزات میں واضح ہے: "ONLY FOR A FRESH OS, it will install Apache, MySQL 8.0 & PHP 8.3 and could OVERWRITE any existing web setup on the machine"۔ اگر server پہلے ہی port 80 پر درخواستیں وصول کر رہا ہو تو script اس port کو استعمال کر لے گی اور Apache configuration کو دوبارہ لکھ دے گی۔ ایسے server پر containers استعمال کریں، یا Ubuntu 24.04 پر موجودہ LAMP stack کے اوپر BookStack دستی طور پر انسٹال کریں۔
Container کے لیے LinuxServer.io image استعمال کی جاتی ہے، اور BookStack کی دستاویزات بھی اسی option کی نشاندہی کرتی ہیں۔ BookStack کو session encryption key درکار ہوتی ہے، اور اس کے بغیر یہ صفحات فراہم نہیں کرے گا۔ اس لیے پہلے key بنائیں۔
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkeyظاہر ہونے والی value کو APP_KEY میں copy کریں، پھر service لکھیں:
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- APP_URL=https://wiki.example.com
- APP_KEY=paste_the_generated_key_here
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USERNAME=bookstack
- DB_PASSWORD=change_me
- DB_DATABASE=bookstackapp
volumes:
- ./config:/config
ports:
- 6875:80
restart: unless-stoppedAPP_URL میں وہی address ہونا چاہیے جو readers حقیقتاً درج کرتے ہیں، جس میں scheme اور کوئی بھی port شامل ہو۔ اسے http://localhost پر set کر کے site کو HTTPS کے ذریعے فراہم کریں۔ بصورت دیگر generated links اور redirects غلط host کی طرف جائیں گے، اور readers کو ایسا login page نظر آئے گا جو دوبارہ خود اسی page پر redirect ہوتا رہے گا۔ اگر compose files آپ کے لیے نئی ہیں تو اس سے پہلے VPS پر Docker Compose کی بنیادی باتیں سے آغاز کریں۔
اسے start کریں اور تصدیق کریں کہ application درخواستوں کا جواب دے رہی ہے، صرف یہ نہ دیکھیں کہ container چل رہا ہے:
docker compose up -d
docker compose ps
curl -sI http://127.0.0.1:6875/login200 OK سے معلوم ہوتا ہے کہ PHP application start ہو گئی اور database تک پہنچ گئی۔ 500 تقریباً ہمیشہ اس بات کی نشاندہی کرتا ہے کہ APP_KEY خالی ہے یا database credentials مطابقت نہیں رکھتے، اور docker compose logs bookstack بتاتا ہے کہ ان دونوں میں سے کون سا مسئلہ ہے۔
Wiki.js: ایک درخت، متعدد ایڈیٹرز
Wiki.js ایک Node.js ایپلیکیشن ہے۔ دستاویزی Docker setup اسے PostgreSQL کے ساتھ استعمال کرتا ہے، تاہم یہ سافٹ ویئر MySQL، MariaDB، MSSQL اور SQLite بھی قبول کرتا ہے۔ یہ compose file پروجیکٹ کے اپنے Docker page سے لی گئی ہے:
services:
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: wikijsrocks
POSTGRES_USER: wikijs
logging:
driver: none
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
wiki:
image: ghcr.io/requarks/wiki:2
depends_on:
- db
init: true
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: wikijsrocks
DB_NAME: wiki
restart: unless-stopped
ports:
- "80:3000"
volumes:
db-data:اسے چلانے سے پہلے POSTGRES_PASSWORD اور DB_PASS کو ایک ساتھ تبدیل کریں، کیونکہ یہ ایک ہی credential ہیں اور نمونے کی value public ہے۔ tag کو جان بوجھ کر ghcr.io/requarks/wiki:2 پر pinned رکھا گیا ہے۔ دستاویزات latest کے استعمال کی حوصلہ شکنی کرتی ہیں، کیونکہ major version jump کے دوران running instance کے تحت database schema تبدیل ہو جاتا ہے۔
چلانے کے لیے Version 2 کی line استعمال کریں۔ July 2026 تک Version 2 کی تازہ ترین release 2.5.314 ہے، جو May 2026 میں جاری ہوئی۔ Version 3 موجود ہے، اور اس کی اپنی دستاویزات کہتی ہیں: "یہ site Wiki.js 3.0 کی غیر مستحکم beta release کے لیے ہے۔ آپ کو اسے production میں install نہیں کرنا چاہیے۔" :3 tag کو preview سمجھیں۔
پہلی بار load ہونے پر Wiki.js browser کے اندر setup کے مراحل دکھاتا ہے اور administrator account بناتا ہے۔ جب تک آپ یہ عمل مکمل نہیں کرتے، port تک پہنچنے والا ہر شخص اس wizard تک رسائی حاصل کر سکتا ہے۔ اس لیے firewall کھولنے سے پہلے service کو reverse proxy اور TLS (transport layer security) کے پیچھے رکھیں۔ اگر server پر اس service کے علاوہ بھی ایپس چل رہی ہوں تو wiki کو اپنے hostname پر کئی Docker ایپس کے سامنے Traefik کے پیچھے رکھنا فطری انتخاب ہے۔
Editor کا انتخاب وہ وجہ ہے جس کی بنا پر لوگ Wiki.js منتخب کرتے ہیں۔ ایک instance میں Markdown pages، visual editor pages، raw HTML pages اور AsciiDoc pages بیک وقت رکھی جا سکتی ہیں۔ جب آپ پرانا content ایسے format میں import کر رہے ہوں جسے convert نہیں کرنا چاہتے، تو یہ سہولت مفید ہے۔ تاہم اس طرح ایک ہی wiki میں چار مختلف house styles بھی بن سکتی ہیں۔ اس لیے پہلے دن default editor طے کریں اور اس فیصلے کو تحریری طور پر محفوظ کریں۔
آؤٹ لائن: بہترین ایڈیٹر، مگر سب سے زیادہ prerequisites
Outline عموماً وہی ایپ ہے جس کا لوگ اس وقت حوالہ دیتے ہیں جب وہ کسی commercial notes tool جیسا تجربہ چاہتے ہیں۔ یہ Node.js application ہے، اور July 2026 تک اس کی موجودہ release 1.9.2 ہے۔ اس کی sample environment file میں مطلوبہ اجزا درج ہیں: DATABASE_URL کے ذریعے PostgreSQL، REDIS_URL کے ذریعے Redis، دو random secrets، اور عوامی طور پر قابل رسائی URL۔
openssl rand -hex 32
openssl rand -hex 32اسے دو مرتبہ چلائیں اور دونوں values محفوظ رکھیں۔ پہلی value SECRET_KEY اور دوسری UTILS_SECRET بنے گی۔ Environment file کا بنیادی حصہ اس طرح ہوگا:
NODE_ENV=production
URL=https://docs.example.com
PORT=3000
SECRET_KEY=<first openssl value>
UTILS_SECRET=<second openssl value>
DATABASE_URL=postgres://outline:change_me@postgres:5432/outline
PGSSLMODE=disable
REDIS_URL=redis://redis:6379
FILE_STORAGE=local
FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/dataPGSSLMODE=disable صرف اس وقت درست ہے جب database اسی machine یا اسی Docker network پر موجود ہو۔ Network کے ذریعے حاصل کیے جانے والے database کے لیے اسے شامل نہ کریں، ورنہ connection غیر محفوظ حالت میں منتقل ہوگا۔ Attachments کے لیے اب object storage لازمی نہیں ہے: FILE_STORAGE=local uploads کو اوپر دی گئی directory میں لکھتا ہے۔ یہ directory ایسی volume ہونی چاہیے جس میں container لکھ سکے اور جسے آپ کے backups میں شامل کیا گیا ہو۔ اگر آپ یہ files S3 compatible bucket میں رکھنا چاہتے ہیں تو AWS_* کی values استعمال کرتے ہوئے FILE_STORAGE=s3 set کریں۔
اب وہ حصہ آتا ہے جو اکثر لوگوں کے لیے حیران کن ہوتا ہے۔ Outline میں username اور password کے ذریعے login کی سہولت built-in نہیں ہے۔ اس کی sample configuration واضح کرتی ہے کہ third-party sign-in credentials درکار ہیں: "at least ONE OF these is required for a working installation or you'll have no sign-in options"۔ دستاویزی providers میں Google، Slack، Microsoft Entra، Discord، اور OIDC_CLIENT_ID، OIDC_CLIENT_SECRET، OIDC_AUTH_URI، OIDC_TOKEN_URI اور OIDC_USERINFO_URI کے ذریعے کوئی بھی generic OpenID Connect (OIDC) server شامل ہے۔
اس لیے Outline کی اصل لاگت Outline، PostgreSQL، Redis، اور ایک identity provider پر مشتمل ہے۔ اگر آپ کی team پہلے ہی Google Workspace یا Microsoft Entra کے ذریعے sign in کرتی ہے تو آخری جزو ترتیب دینے میں دس منٹ لگیں گے، اور Outline ایک بہت اچھا انتخاب بن جاتا ہے۔ اگر ایسا نہیں ہے تو آپ کو Keycloak یا Authentik جیسی سروس بھی self-host کرنی ہوگی۔ یہ patch اور backup کرنے کے لیے ایک دوسری service ہے۔ Memory کے لیے مناسب گنجائش رکھیں: Outline کی اپنی guidance کے مطابق ہر web process کے لیے تقریباً 512 MB درکار ہوتے ہیں، جسے WEB_CONCURRENCY کے ذریعے set کیا جاتا ہے۔ اس کے علاوہ database اور Redis کے لیے بھی memory درکار ہوگی۔
ہر ایک اس بات کو کیسے منظم کرتا ہے کہ کون کیا پڑھ سکتا ہے
BookStack میں ابتدا ہی سے مقامی ای میل اور پاس ورڈ اکاؤنٹس موجود ہوتے ہیں، جبکہ متبادل کے طور پر LDAP، SAML2 اور OIDC بھی معاونت یافتہ ہیں۔ اجازتیں ہر role کے لیے مقرر کی جاتی ہیں اور کسی ایک shelf، book، chapter یا page پر ان میں تبدیلی کی جا سکتی ہے۔ چونکہ hierarchy طے شدہ ہوتی ہے، اس لیے اجازتیں قابلِ پیش گوئی انداز میں اس کے نچلے درجوں تک منتقل ہوتی ہیں۔
Wiki.js میں بھی مقامی اکاؤنٹس شامل ہوتے ہیں اور admin area میں فعال کرنے کے لیے authentication strategies کی ایک طویل فہرست فراہم کی جاتی ہے۔ اس کے page rules، path pattern کے مطابق رسائی دیتے یا روکتے ہیں۔ یہ طریقہ طاقتور ہے، لیکن اس میں غلطی آسانی سے ہو سکتی ہے، کیونکہ ops/* کے لیے لکھا گیا rule بعد میں اس path کے تحت رکھی جانے والی ہر page پر خاموشی سے لاگو ہو جاتا ہے۔
Outline یہ فیصلہ مکمل طور پر identity provider کے حوالے کرتا ہے۔ Membership آپ کے identity provider کے مطابق ہوتی ہے، جبکہ Outline کے اندر آپ collection اور group کے ذریعے رسائی کنٹرول کرتے ہیں۔ جب کوئی شخص کمپنی چھوڑتا ہے تو اس کا کوئی مقامی account باقی نہیں رہتا۔ یہ اس وقت ایک حقیقی فائدہ ہے جب identity provider ہی وہ نظام ہو جس کے ذریعے آپ deprovisioning کرتے ہیں۔
ہر ایک میں تلاش کیسے کام کرتی ہے
تلاش وہ حصہ ہے جہاں wiki اپنی افادیت ثابت کرتی ہے یا بھولی ہوئی فائلوں کے فولڈر میں تبدیل ہو جاتی ہے۔
BookStack database میں تلاش کرتا ہے اور قارئین کو ایسی query language فراہم کرتا ہے جسے وہ ایک منٹ میں سیکھ سکتے ہیں۔ کسی عبارت کو quotes میں لکھنے سے، جیسا کہ "london meeting" میں ہے، اسی string کی عین تلاش کی جاتی ہے۔ Square brackets tags میں تلاش کرتے ہیں: [location=london] tag name، value یا دونوں کے مطابق نتائج دیتا ہے، اور اس میں !=، >= اور like جیسی comparisons شامل ہیں۔ Curly braces metadata کے مطابق filter لگاتے ہیں، جیسا کہ {created_after:2016-12-30} میں ہے۔ کسی بھی exact، tag یا filter term کو اس کے شروع میں - لگا کر خارج کیا جا سکتا ہے۔ BookStack ایک query میں ہر قسم کے terms کی تعداد محدود کرتا ہے، اس لیے بہت لمبی query چلانے کے بجائے مختصر کر دی جاتی ہے۔
Wiki.js تلاش کو ایک قابل توسیع module کے طور پر استعمال کرتا ہے۔ دستاویزی engines میں basic database engine، PostgreSQL engine، Elasticsearch، Algolia، AWS CloudSearch اور Azure Search شامل ہیں۔ چند سو pages کے لیے basic engine کافی ہے۔ اگر آپ PostgreSQL چلا رہے ہیں تو admin area میں PostgreSQL engine منتخب کریں، کیونکہ یہ simple matching کے بجائے database کے اپنے full text index کو استعمال کرتا ہے۔ Elasticsearch اسی وقت استعمال کریں جب wiki اتنی بڑی ہو کہ آپ دوسری search service چلانے اور اس کے patches لگانے کی ذمہ داری قبول کر سکیں۔
Outline، PostgreSQL کے full text indexes میں تلاش کرتا ہے۔ اس میں کوئی engine منتخب کرنے یا tuning کرنے کی ضرورت نہیں، اور یہ uploaded documents کے اندر موجود text میں بھی تلاش کرتا ہے۔ چند ہزار documents تک کی team wiki کے لیے ان تینوں میں یہی سب سے کم انتظامی محنت والا انتخاب ہے۔ اگر یہ کبھی مطلوبہ رفتار سے کم ہو جائے تو اسے بہتر بنانے کے لیے بھی کوئی الگ configuration option موجود نہیں۔
آپ کے لیے کون سا موزوں ہے
اگر آپ چاہتے ہیں کہ wiki آج ہی چل جائے اور آپ structure کے بجائے content پر بحث کرنا پسند کریں تو BookStack منتخب کریں۔ اس میں شامل اجزا سب سے کم ہیں: ایک PHP application اور ایک MySQL database۔ یہ internal runbooks اور customer documentation کے لیے موزوں ہے، اور ان teams کے لیے بھی مناسب ہے جن کے زیادہ تر writers engineers نہیں ہیں۔ ان تینوں میں اس کا backup لینا بھی سب سے آسان ہے، کیونکہ مکمل state ایک database dump اور uploads directory پر مشتمل ہوتی ہے۔
اگر آپ کو ایسا مخصوص editor یا authentication strategy درکار ہے جو باقی options فراہم نہیں کرتے، یا آپ موجودہ Markdown یا AsciiDoc کے بڑے ذخیرے کو import کر کے path structure برقرار رکھنا چاہتے ہیں، تو Wiki.js منتخب کریں۔ یہ تسلیم کریں کہ آپ ایک زیادہ بھاری stack چلا رہے ہیں، اور major version tag کو pin کریں۔
اگر writing quality سب سے زیادہ اہم ہے، wiki public کے بجائے team کے لیے ہے، اور آپ کے پاس پہلے سے identity provider موجود ہے، تو Outline منتخب کریں۔ یہ setup آپ کو ایسا editor دیتا ہے جسے لوگ حقیقتاً استعمال کرنا پسند کرتے ہیں۔ اسے اپنی پہلی self-hosted application کے طور پر منتخب نہ کریں۔
اگر ان تینوں میں سے کوئی موزوں نہیں ہے تو مسئلہ عموماً content type کا ہوتا ہے۔ Scanned invoices اور contracts کو wiki کے بجائے Paperless-ngx جیسے document management system میں رکھنا چاہیے، اور انہیں wiki میں زبردستی شامل کرنا ہی وجہ ہے کہ بہت سی wikis آخرکار abandoned ہو جاتی ہیں۔ دوسرا عام mismatch یہ ہے کہ آپ wiki کے بجائے workspace چاہتے ہیں، جہاں ایک ہی canvas پر documents، tables اور whiteboard موجود ہوں۔ اس صورت میں self-hosted AFFiNE workspace اوپر دیے گئے تینوں options سے زیادہ موزوں ہے۔ اپنے server پر مزید کون سی چیزیں جگہ بنانے کے قابل ہیں، اس کے وسیع جائزے کے لیے 2026 کی self-hosting shortlist دیکھیں۔
وسائل اور بیک اپ
تینوں کو ایک چھوٹے VPS پر چلایا جا سکتا ہے، لیکن ہر ایک کے لیے عملی کم از کم وسائل مختلف ہیں کیونکہ ہر ایپ کے پیچھے موجود اجزا مختلف ہیں۔ BookStack ایک application process اور MySQL پر مشتمل ہے۔ Wiki.js ایک Node process اور PostgreSQL پر مشتمل ہے۔ Outline ایک Node process، PostgreSQL اور Redis پر مشتمل ہے، اور عموماً اس کے ساتھ identity provider بھی ہوتا ہے۔ اسی لیے Outline کے لیے زیادہ memory مختص کریں۔
Database اور uploads کا ایک ساتھ بیک اپ لیں، اور اس بیک اپ پر انحصار کرنے سے پہلے دونوں کو ایک عارضی instance میں کم از کم ایک بار restore کریں۔ ایسا wiki backup جسے کسی نے restore نہ کیا ہو، صرف ایک اندازہ ہے۔ BookStack کے لیے اس کا مطلب mysqldump اور /config volume ہے۔ Wiki.js اور Outline کے لیے اس کا مطلب pg_dump اور data volume ہے، جبکہ Outline کے لیے FILE_STORAGE_LOCAL_ROOT_DIR میں موجود data بھی شامل کریں۔
FAQ
کون سی self-hosted wiki انسٹال کرنا سب سے آسان ہے؟
BookStack۔ یہ MySQL database کے ساتھ ایک single PHP application ہے، اور project Ubuntu 24.04 کے لیے installation script فراہم کرتا ہے جو ایک ہی run میں Apache، MySQL 8.0 اور PHP 8.3 کو configure کر دیتی ہے۔ Container image کو صرف APP_KEY اور database credentials درکار ہوتے ہیں۔ Wiki.js میں Node runtime اور PostgreSQL server بھی شامل ہوتے ہیں، جبکہ Outline میں اس کے علاوہ Redis اور ایک external identity provider بھی درکار ہوتا ہے۔
کیا میں Google یا کسی دوسرے SSO provider کے بغیر Outline استعمال کر سکتا ہوں؟
نہیں۔ Outline میں local username اور password login موجود نہیں ہے۔ اس کی sample configuration میں واضح ہے کہ کم از کم ایک third-party sign-in provider درکار ہے، ورنہ sign-in کا کوئی طریقہ دستیاب نہیں ہوگا۔ آپ Google، Slack، Microsoft Entra، Discord، یا کسی generic OpenID Connect server، مثلاً self-hosted Keycloak یا Authentik، کو استعمال کر سکتے ہیں۔ اس provider کو چلانا Outline چلانے کی لاگت کا حصہ ہے۔
کیا مجھے Wiki.js 3 یا Wiki.js 2 انسٹال کرنا چاہیے؟
Version 2۔ July 2026 تک version 2 کی تازہ ترین release 2.5.314 ہے، جو May 2026 میں جاری ہوئی تھی، جبکہ version 3 کی documentation واضح طور پر کہتی ہے کہ یہ unstable beta ہے اور اسے production میں انسٹال نہیں کرنا چاہیے۔ اپنی image کو ghcr.io/requarks/wiki:2 پر pin کریں، نہ کہ latest پر، کیونکہ major version تبدیل ہونے سے running instance کے تحت database schema بھی تبدیل ہو جاتا ہے۔
ان میں سے کس کی search سب سے بہتر ہے؟
یہ مختلف طریقوں سے مضبوط ہیں۔ BookStack readers کو exact phrases کے ساتھ query language، [location=london] جیسے tag filters، اور {created_after:2016-12-30} جیسے metadata filters فراہم کرتا ہے، اور ان میں سے کسی بھی term کو شروع میں - لگا کر منفی کیا جا سکتا ہے۔ Outline کو کسی configuration کی ضرورت نہیں ہوتی اور یہ uploaded files کے اندر موجود text کو search کرتا ہے۔ Wiki.js سب سے زیادہ قابلِ تخصیص ہے، کیونکہ آپ engine منتخب کرتے ہیں، اور جیسے ہی آپ کی wiki چند سو pages سے بڑی ہو جائے، PostgreSQL engine پر منتقل ہونا مفید ہوتا ہے۔
کیا میں بعد میں اپنا content ایک سے دوسری جگہ منتقل کر سکتا ہوں؟
جزوی طور پر، لیکن manual work کی توقع رکھیں۔ تینوں Markdown کو export اور import کرتے ہیں، اس لیے page text عموماً محفوظ رہتا ہے۔ Structure صاف طور پر منتقل نہیں ہوتا: BookStack کی books اور chapters کا Outline کے nested documents میں کوئی مساوی ڈھانچہ نہیں، اور Wiki.js کے paths، BookStack کی fixed hierarchy سے مطابقت نہیں رکھتے۔ Attachments، permissions اور page history کے ضائع ہونے کا امکان سب سے زیادہ ہوتا ہے، اس لیے migration کا فیصلہ کرنے سے پہلے ایک sample export کریں اور ان حصوں کو جانچ لیں۔