لقد أنشأت مستوردًا لـ Yammer لشخص ما، وهم يرغبون في إتاحته للجمهور. (مرحباً @gerhard، أعتقد أن هذا في مجال خبرتك.) لا أستطيع فهم شعبية Yammer و/أو ما إذا كان شيئًا سيصبح قريبًا لديه الكثير من الأشخاص الذين يتوقون لمنصة جديدة أو ما إذا كان معظم هؤلاء الأشخاص يتوقعون فقط فقدان بياناتهم عند مغادرة المنصة.
تصدير Yammer عبارة عن مجموعة من ملفات CSV، لذا يستخدم برنامج الاستيراد النصي script/import_scripts/base/generic_database.rb. يتضمن استيراد الرسائل الخاصة (PMs)، والتي تطلبت إضافة جدولين إلى generic_database.rb. اعتقدت أنه من المنطقي إضافة رمز منفصل للرسائل الخاصة بدلاً من محاولة إجبار الرمز الحالي على التعامل معها والمخاطرة بكسره للمستوردين الآخرين الذين يستخدمونه (zendesk، zendesk_api، و answerbase). أيضًا، يتم التعامل مع المرفقات بشكل مختلف عما يجب أن تكون عليه في البرامج النصية التي تستخدم generic_database.rb، لذا فإن جداول الرسائل الخاصة الخاصة بي لا تدير التحميلات بالطريقة التي تفعلها الجداول الأخرى (والتي لم أتمكن من فهمها تمامًا). لقد أضفت أيضًا جدول تحميل بدلاً من استخدام topic_upload و post_upload كما يستخدم المستورد العام.
def create_upload_table
@db.execute <<-SQL
CREATE TABLE IF NOT EXISTS upload (
id #{key_data_type} NOT NULL PRIMARY KEY,
user_id INTEGER,
original_filename TEXT,
filename TEXT,
description TEXT,
url TEXT
)
SQL
end
يعالج الرمز الحالي التحميلات عند الإشارة إليها في raw. كما أنه يستبدل الإشارات إلى المستخدمين بإشارات Discourse @username. كما أنه يتعامل مع opengraphobject غريب ويستخدمها، إذا كانت موجودة، لإنشاء عناوين مواضيع (والتي تفتقدها معظم المواضيع في التفريغ الذي كتبت هذا من أجله).
أسئلة:
- هل هذا الكثير من التبسيط للإجابة على هذه الأسئلة؟
- هل يجب علي إنشاء رسالة خاصة إلى الفريق الأساسي، أم تضمينها كمستودع مستقل (سأقوم بتضمين برنامج نصي يقوم بنسخ الرمز إلى شجرة مصدر Discourse وتشغيله من هناك)؟
- هل الإضافات إلى
generic_databaseتبدو معقولة أم يجب علي أن أجد طريقة للإضافة إلى هذا الفصل في برنامج الاستيراد الخاص بي أم فقط تضمين وظائفي الإضافية في برنامجي النصي الخاص والإشارة إلى@dbالعام؟