توثيق الموقع الرئيسي

مقدمة

يعد الموقع الرئيسي لدار الإسلام islamhouse.com هو البوابة الأم والرئيسية لجميع الخدمات حيث أن جميع الخدمات المنفصلة في بوابات مستقله مثل ( مصاحف - بلاغ - رمضان ) تتوفر أيضا في الموقع الرئيسي بجميع موادها وفيما يلي سرد لبعض أهم ملامح طريقة عرض البيانات في الموقع .

تعريب العناوين

السياسة العامة لتصفح الموقع تعتمد على أنه هناك مواد معينة لغة المصدر الخاصة بها ( لغة المادة ) بلغه ويمكن تصفحها بلغات أخرى مثلا يمكن تصفح عناوين المواد الإنجليزية سواء مقروءة او مسموعه بواجهة عربية والعكس صحيح والأصل أن جميع مواد الموقع أيا كان لغته يمكن تصفحها على الأقل بلغتها الأصلية وأيضا تصفح تعريب العناوين الخاصة بها حيث تعد خدمة تعريب العناوين إحدى أهم الخدمات الموجهة إلى الدعاة والمراكز الدعوية خاصة ممن يتحدث اللغة العربية أن يدعوا إلى الله بأي لغه يريدها بكل سهولة ويسر حيث يمكنه تصفح جميع مواد الموقع ايا كان لغتها بواجهة عربية ويختار منها ما شاء لطباعته او ارساله الي أشخاص عبد البريد او اي وسيلة تواصل ( مثل ما يتوفر في خدمة بلاغ )

مكونات البنية التحتية للموقع الرئيسي

في غالب الحالات جميع الروابط الخاصة بالبنية التحتية تبدأ بالرابط

http://api.islamhouse.com/v1/XXXXXXXXXX/main

ثم يأتي بعد ذلك إسم الخدمة المطلوب فمثلا
لجلب الصفحة الرئيسية للغات المتاحة والإحصائيات العامة الخاصة بالموقع يتم طلب الرابط
http://api.islamhouse.com/v1/XXXXXXXXXX/main/home/json

ناتج الرابط السابق يكون كالتالي مع ملاحظه انه تم اختصار عدد اللغات المعروض لتقليل حجم الصفحة
{
statistics: {
  total_languages_items: 50674,
  languages_count: 114,
  total_languages_files: 130572
},
data: [
  {
      id: 395643,
      title: "Afrikaans",
      add_date: 1149738115,
      total_items: 2,
      total_files: 2,
      active: false,
      available: true,
      facebook: "",
      twitter: "",
      youtube: "",
      instagram: "",
      rss: "http://islamhouse.com/RSS/IslamHouse-all-AF-AF.xml",
      torrent: "http://torrent.islamhouse.com/download.php?id=05937e2a3479b66a81ba19fed124bb478f28c06b&f=Afrikanns-IslamHouse-com-2014-05-05.torrent",
      language_code: "af",
      site_contents: "http://api.islamhouse.com/v1/XXXXXXXXXX/main/sitecontent/af/af/json/"
  },
  {
      id: 10368,
      title: "Македонски",
      add_date: 1142457081,
      total_items: 6,
      total_files: 8,
      active: false,
      available: true,
      facebook: "",
      twitter: "",
      youtube: "",
      instagram: "",
      rss: "http://islamhouse.com/RSS/IslamHouse-all-MK-MK.xml",
      torrent: "http://torrent.islamhouse.com/download.php?id=af0bf17c1c7ffa399a507030c52c3a57093e9fc4&f=Macedonian_IslamHouse.com_2015-01-01.torrent",
      language_code: "mk",
      site_contents: "http://api.islamhouse.com/v1/XXXXXXXXXX/main/sitecontent/mk/mk/json/"
  },
  {
      id: 9814,
      title: "ဗမာစာ",
      add_date: 1142457081,
      total_items: 4,
      total_files: 5,
      active: false,
      available: true,
      facebook: "",
      twitter: "",
      youtube: "",
      instagram: "",
      rss: "http://islamhouse.com/RSS/IslamHouse-all-MY-MY.xml",
      torrent: "http://torrent.islamhouse.com/download.php?id=0ef1401aa0dab4eec32b25e7200ebb35764a1e2f&f=Burmese-IslamHouse-com-2014-05-05.torrent",
      language_code: "my",
      site_contents: "http://api.islamhouse.com/v1/XXXXXXXXXX/main/sitecontent/my/my/json/"
  }
]
}

- الإحصائيات العامة الخاصة بالموقع ( اجمالي عدد المواد - عدد اللغات المتاحة - عدد الملفات المتاحة )
- اللغات المتاحة واحصائيات كل لغة مع ملاحظة أن إسم كل لغة يتم ذكره باللغة الأصلية على سبيل المثال اللغة العربية تكتب “ العربية” واللغة الإنجليزية تُكتب “English” والفرنسية تُكتب “français” وهكذا …

تصفح مواد الموقع بلغة معينة

كما قلنا سابقا أنه هناك مصطلحين هامين يتم إستخدامهم في دار الإسلام ألا وهما ( لغة المصدر - لغة الواجهة ) وهي التي تمثل اللغة الأصلية للمادة المطلوبة ولغة الواجهة التي يتم تصفح هذه المادة بها فمثلا لتصفح مواد الموقع التي لغتها المصدرية هي العربية بلغة واجهة عربي يتم طلب الرابط
http://api.islamhouse.com/v1/XXXXXXXXXX/main/sitecontent/ar/ar/json

والتكوين البرمجي للرابط هو
main/sitecontent/{flang}/{slang}/{format}

والناتج الخاص بالرابط هو
{
    block_name: "showall",
    type: "section",
    items_count: 8418,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/showall/ar/ar/1/25/json/"
  },
  {
    block_name: "books",
    type: "section",
    items_count: 3167,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/books/ar/ar/1/25/json/"
  },
  {
    block_name: "audios",
    type: "section",
    items_count: 2700,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/audios/ar/ar/1/25/json/"
  },
  {
    block_name: "poster",
    type: "section",
    items_count: 487,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/poster/ar/ar/1/25/json/"
  },
  {
    block_name: "articles",
    type: "section",
    items_count: 973,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/articles/ar/ar/1/25/json/"
  },
  {
    block_name: "fatwa",
    type: "section",
    items_count: 177,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/fatwa/ar/ar/1/25/json/"
  },
  {
    block_name: "quran",
    type: "section",
    items_count: 165,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/quran/ar/ar/1/25/json/"
  },
  {
    block_name: "programsv",
    type: "section",
    items_count: 24,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/programsv/ar/ar/1/25/json/"
  },
  {
    block_name: "videos",
    type: "section",
    items_count: 844,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/videos/ar/ar/1/25/json/"
  },
  {
    block_name: "news",
    type: "section",
    items_count: 41,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/news/ar/ar/1/25/json/"
  },
  {
    block_name: "apps",
    type: "section",
    items_count: 29,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/apps/ar/ar/1/25/json/"
  },
  {
    block_name: "favorites",
    type: "section",
    items_count: 12,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/favorites/ar/ar/1/25/json/"
  },
  {
    block_name: "cards",
    type: "section",
    items_count: 5,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/cards/ar/ar/1/25/json/"
}
]

حيث في المثال السابق يتم عرض الأقسام الرئيسية للموقع والإحصائيات الخاصة بها من حيث عدد المواد المتاحة

ملاحظة

في المثال السابق تم جلب جميع المواد العربية بواجهة عربية واذا أردنا جلب جميع المواد أيا كان لغتها المصدرية بواجهة عربية يتم استخدام الرابط
http://api.islamhouse.com/v1/XXXXXXXXXX/main/sitecontent/ar/showall/json/
ويلاحظ أنه تم إستبدال اسم لغة المصدر بكلمه showall كما عهدنا في أغلب روابط البنية التحتية لدار الإسلام

ليكون النتاج

{
    block_name: "showall",
    type: "section",
    items_count: 50515,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/showall/ar/showall/1/25/json/"
  },
  {
    block_name: "books",
    type: "section",
    items_count: 9731,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/books/ar/showall/1/25/json/"
  },
  {
    block_name: "articles",
    type: "section",
    items_count: 10852,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/articles/ar/showall/1/25/json/"
  },
  {
    block_name: "audios",
    type: "section",
    items_count: 11791,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/audios/ar/showall/1/25/json/"
  },
  {
    block_name: "fatwa",
    type: "section",
    items_count: 7192,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/fatwa/ar/showall/1/25/json/"
  },
  {
    block_name: "videos",
    type: "section",
    items_count: 9818,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/videos/ar/showall/1/25/json/"
  },
  {
    block_name: "poster",
    type: "section",
    items_count: 752,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/poster/ar/showall/1/25/json/"
  },
  {
    block_name: "quran",
    type: "section",
    items_count: 165,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/quran/ar/showall/1/25/json/"
  },
  {
    block_name: "favorites",
    type: "section",
    items_count: 201,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/favorites/ar/showall/1/25/json/"
  },
  {
    block_name: "programsv",
    type: "section",
    items_count: 43,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/programsv/ar/showall/1/25/json/"
  },
  {
    block_name: "cards",
    type: "section",
    items_count: 46,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/cards/ar/showall/1/25/json/"
  },
  {
    block_name: "news",
    type: "section",
    items_count: 116,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/news/ar/showall/1/25/json/"
  },
  {
    block_name: "apps",
    type: "section",
    items_count: 89,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/apps/ar/showall/1/25/json/"
}
]

عرض محتويات قسم معين

لعرض محتويات قسم معين يتم تحديد القسم المطلوب عرض محتوياته ولغة الواجهة ولغة المصدر على سبيل المثال لعرض محتويات قسم الكتب في الموقع العربي لدار الإسلام وكذلك ان تكون لغة المصدر الخاصة بالكتاب العربية أيضا يتم طلب الرابط

http://api.islamhouse.com/v1/XXXXXXXXX/main/books/ar/ar/1/25/json/

والتكوين البرمجي للرابط هو
/main/{type}/{flang}/{slang}/{pageNum}/{limit}/{format}

ويكون الناتج كالتالي مع ملاحظة أنه تم إختصار النتيجة لتقليل حجم الصفحة
{
links: {
    next: "http://api.islamhouse.com/v1/XXXXXXXXX/main/books/ar/ar/2/25/json/",
    prev: "",
    first: "http://api.islamhouse.com/v1/XXXXXXXXX/main/books/ar/ar/1/25/json/",
    last: "http://api.islamhouse.com/v1/XXXXXXXXX/main/books/ar/ar/127/25/json/",
    current_page: 1,
    pages_number: 127,
    total_items: 3167
},
data: [
{
    id: 2769744,
    source_id: 2769744,
    title: "كتب الصف الأول الابتدائي المقررة بالمدارس السعودية [ طبعة 1435هـ ]",
    type: "books",
    add_date: 1439908810,
    description: "نسخة PDF من كتب الصف الأول الابتدائي المقررة بالمدارس السعودية.",
    full_description: "",
    source_language: "ar",
    translated_language: "ar",
    image: null,
    api_url: "http://api.islamhouse.com/v1/XXXXXXXXX/main/get-item/2769744/ar/json/",
  prepared_by: null,
  attachments: [
  {
    order: 1,
    size: "24.5 MB",
    extension_type: "PDF",
    description: "كتاب التوحيد للصف الأول الابتدائي - الفصل الدراسي الأول - طبعة 1435هـ",
    url: "http://d1.islamhouse.com/data/ar/ih_books/chain/almnahj_aldrasiah_in_saoudiah/01_First grade/ar_01_altouhid_First grade.pdf"
  },
  {
    order: 2,
    size: "24.9 MB",
    extension_type: "PDF",
    description: "كتاب التوحيد للصف الأول الابتدائي - الفصل الدراسي الثاني - طبعة 1435هـ",
    url: "http://d1.islamhouse.com/data/ar/ih_books/chain/almnahj_aldrasiah_in_saoudiah/01_First grade/ar_02_altouhid_First grade.pdf"
  }

],
locales: [
    "ar"
]
}

ونظرا لأن البنية التحتية تدعم تعدد الصفحات ففي بداية كل صفحة يتم توضيح بعض الإحصائيات الخاصة بالصفحة الحالية وعدد الصفحات المتاحة وإجمالي عدد العناصر ثم يأتي بعد ذلك تفاصيل المواد نفسها والقائمين على إعدادها ( مؤلفين - مترجمين - ناشرين - الخ ..) وترجمات الواجهة المتاحة لهذه المادة

عرض عنصر منفرد

لكي يمكنك عرض محتويات مادة واحدة يتم ذلك من خلال تحديد رقم المعرف الخاص بالمادة المطلوب عرضها وكذلك لغة الواجهة المطلوب العرض بها على سبيل المثال لعرض كتاب “فن إدارة الوقت” وهو يحمل رقم 886781 باللغة العربية يتم طلب الرابط التالي
http://api.islamhouse.com/v1/XXXXXXXXX/main/get-item/886781/ar/json/

والتكوين البرمجي للرابط هو
/main/get-item/{id}/{flang}/{format}

ويكون الناتج هو
{
    id: 886781,
    source_id: 886781,
    title: "فن إدارة الوقت",
    description: "يوجه المؤلف رسالة للذين يحسون أن الوقت المتاح لا يكفي لتحقيق طموحاتهم ومشاريعهم، وأهدافهم النبيلة، وهم أصحاب الطموح والمشاريع الكبيرة، أصحاب الإبداع والابتكار. فيقول: عندما نتأمل المشكلة نجد أنها ليست في الوقت نفسه بل في أحيان كثيرة تكون في كيفية الاستفادة من الوقت.",
    full_description: "",
    type: "books",
    add_date: 1431169403,
    orginal_item: "yes",
    translation_language: "ar",
    source_language: "ar",
  image: null,
  prepared_by: [
  {
    id: 265563,
    source_id: 265563,
    title: "موقع الكتيبات الإسلامية www.ktibat.com",
    type: "source",
    kind: "source",
    description: "موقع الكتيبات الإسلامية: موقع إسلامي دعوي ينتهج منهج أهل السنة والجماعة، يهدف إلى: - نشر الكتيبات التي تم طبعها ونشرها من قبل الجهات ودور النشر المعروفة، مثل دار القاسم ودار الوطن ودار ابن خزيمة وغيرهم. - يتم طباعة الكتيب الإسلامي وعرضه في الموقع كما هو موجود في أصل الكتيب تماماً بدون تعديل أو زيادة أو نقص، مع مراعاة الأخطاء الإملائية. - الحرص على نشر الكتب أو الكتيبات الإسلامية والتي لم تنشر على شبكة الإنترنت. - الحرص على نشر بعض الكتب النادرة والتي يصعب الحصول عليها في المكتبات فضلاً عن شبكة الإنترنت."
  }
  ],
  attachments: [
  {
    order: 1,
    size: "800.3 KB",
    extension_type: "PDF",
    description: "فن إدارة الوقت",
    url: "http://d1.islamhouse.com/data/ar/ih_books/single9/ar_fn_adart_Al_Wqt.pdf"
    },
    {
    order: 2,
    size: "3 MB",
    extension_type: "DOC",
    description: "فن إدارة الوقت",
    url: "http://d1.islamhouse.com/data/ar/ih_books/single9/ar_fn_adart_Al_Wqt.doc"
  }
  ],
  locales: [
    "ar"
  ],
  locales-types: [
  {
    locale: "ar",
    type: "books"
}
]
}


ملاحظة هامة

يلاحظ أنه هناك رقمين لكل مادة id و source_id حيث ان المتغير id يعبر عن الرقم الفريد للمادة المرتبط بلغة بعينها حيث انه هذا الرقم يرتبط بلغة واجهة بعينها ولا يتكرر أما source_id هو رقم المادة الأصلي العام والذي يكون ثابت في جميع ترجمات المادة على سبيل المثال
لعرض جميع الكتب الموجودة بالموقع أيا كان لغتها بواجهة عربية يتم طلب الرابط التالي

http://api.islamhouse.com/v1/XXXXXXXXX/main/books/ar/showall/1/25/json/

ولو اخذنا احد النتائج المعروض على سبيل المثال كتاب “ ما هو الإسلام “ نجد أن رقم id الخاص به هو 2769226 ورقم ال source_id الخاص به هو 2769225 وهما هنا غير متساويان وهذا معناه ان لغة العرض هذه ليست لغة الكتاب الأصلية حيث ان لغة الكتاب الأصلية هنا هي الإنجليزية ولكننا نتصفح بطاقة الكتابة باللغة العربية والتي تتيح لينا عرض العنوان ونبذه مختصرة عن الكتاب وللحصول على تفاصيل الكتاب بواجهة عربية يتم تحديد رقم source_id وكذلك لغة الواجهة المطلوب العرض بها فمثلا لعرض بطاقة الكتابة باللغة العربية يتم طلب الرابط
http://api.islamhouse.com/v1/XXXXXXXXX/main/get-item/2769225/ar/json/

ولعرض بطاقة الكتاب باللغة الإنجليزية يتم طلب الرابط
http://api.islamhouse.com/v1/XXXXXXXXX/main/get-item/2769225/en/json/

ونجد انه في البطاقة الإنجليزية المتغير id و source_id متساويان وهذا يعني أن اللغة الأصلية للكتاب هي الإنجليزية وتم ترجمة بطاقة الكتاب فقط للعربية

ملاحظه

لمعرفة اللغات المتاحة لترجمة البطاقة لأي مادة سوف تجد متغير إسمه locales يوضح الترجمات المتاحة ويمكن من خلاله طلب الترجمات المختلفة لبطاقة الكتاب

روابط إضافية هامة

لجلب آخر المواد المضافة أيا كان نوعها بواجهة عربية وبأي لغة مصدر


http://api.islamhouse.com/v1/XXXXXXXXXX/main/latestupdated/showall/ar/showall/25/json

لجلب اخر المواد ايا كان نوعها بواجهة عربية ولغة مصدر عربي


http://api.islamhouse.com/v1/XXXXXXXXXX/main/latestupdated/showall/ar/ar/25/json

لجلب اخر الكتب المضافة في القسم العربي


http://api.islamhouse.com/v1/XXXXXXXXXX/main/latestupdated/books/ar/ar/25/json

جلب أخر الكتب المضافة بواجهة عربية ولغة مصدر انجليزي


http://api.islamhouse.com/v1/XXXXXXXXXX/main/latestupdated/books/ar/en/25/json

ملاحظة

أقصى عدد متاح لآخر المواد هو ٢٥ عنصر ويمكن تقليله فمثلا لجلب أخر ٥ فيديوهات عربية أضيفت للموقع نستخدم الرابط

http://api.islamhouse.com/v1/XXXXXXXXXX/main/latestupdated/videos/ar/ar/5/json

والتكوين البرمجي للرابط السابق هو
/main/latestupdated/{type}/{flang}/{slang}/{limit}/{format}