- یک پلاگین وردپرس(WordPress) ایجاد و توسعه داده میشه که روی ریپازیتوری وردپرس بارگزاری خواهد شد.
- موضوع پلاگین استفاده از برنامه شبیه excalidraw.com در وردپرس به عنوان دیزاینر محتوا می باشد. مثلا کاربر یک بلاک یا سکشن را انتخاب میکنه و در یک popup دیزاینشو با دیزاینر ما انجام میده و بعد محتوای ادیت شده را همونجا insert میکنه. همچنین میتونه در ادمین طراحی کنه و بعد با استفاده از shortcode هرجا که خواست قرارش بده.
- همونطور که میدونید یک پلاگین برای انتشار روی وردپرس باید طبق استانداردهای wordpress.org نوشته بشه.
- دو نسخه free و Pro باید ایجاد بشه که یکی روی ریپوی وردپرس ودیگری روی یک ریپوی دیگه قرار میگیرن. این دو نسخه باید با هم در ارتباط باشن.
- برای لایسنز گذاری و فروش از سرویس سایت freemius استفاده میشه که شما باید اون را تنظیم و مطابقش پلاگین را کانفیگ کنین.
- یک کد پکیج دولوپ شده در ریکت(JS) که در مورد ویرایشگر کنوس هست جدا نوشته شده. این پکیج در کدهای PHP پلاگین قرار میگیره و با php در ارتباط میشه. این ارتباط از طریق restAPI هست که در php نوشته میشه. اصل فرآیند طراحی در JS انجام میشه و محتوا از طریق فراخوانی api های php با پلاگین تبادل خواهد شد.
- یکی از بخش های دیگه، نوشتن ویجت برای هماهنگی با صفحه سازهایی مثل المنتور و گوتنبرگ است.
این پلاگین دو بخش دارد، یک دیزاینر که بر پایه ریکت توسط تیم دیگری نوشته شده و دوم پلاگین که توسط شما نوشته میشه و وظیفه نصب دیزاینر روی وردپرس و بکارگیری امکانات آن در وردپرس را برعهده دارد. بنابر این پلاگین و دیزاینر باید از طریق api امن با هم در ارتباط باشند. ای api ها توسط شما طراحی می شود و قسمت api دیزاینر به درخواست شما توسط تیم مربوطه پیاده سازی خواهد شد.
در زیرخصوصیات و پروسه های کاری پلاگین نوشته شده:
- باید دو نسخه تهیه کنید، یکی رایگان که بر روی ریپوی وردپرس قرار میگیرد و دیگری پرو که بر روی ریپوی فریمیوس قرار میگیرد. شما تنظیم لایسنس های مربوطه را بر روی همه ورژن ها توسط فریمیوس انجام می دهید.
- شما باید با تعامل با بخش ریکت جداول و ساختار ذخیره و بازیابی بهینه اطلاعات روی هاست را ایجاد کنید.
- تمامی تصاویر به صورت فیزکی در مدیای وردپرس ذخیره خواهد شده. همچنین هر عکس که در دیزاینر قرار میگیرد در یک جدول ثبت می شود. دیزاینر هم نسخه base64 تصویر را خواهد داشت. اما اصل هر عکس فایل آن روی هاست می باشد.
- موجودیت های اصلی شامل Land, Frame, Image می باشد که هر کدام دارای یک جدول یا post type می باشد.
- Designer: به کل برنامه فرانتی که در آن دیزاین صورت میگیرد گفته می شود.
- Land محلی است که همه آبجکت ها می توانند در کنار هم قرار گیرند مانند پیج در فیگما.
- Frame یک چارچوب در لند است که داده های قابل نمایش در خارج دیزاینر در آن قرار می گیرد.
- Image یک فایل اصلی روی سرور دارد ولی نسخه های base64 از آن روی لندها قابل استفاده است. ارتباط فایل ها و base64 ها در db ایجاد می شود.
- شما باید لاگین بودن و سطح دسترسی در دیزاینر را کنترل کنید. یعنی دیزاینر برای هر عملیاتی دسترسی کاربر را بررسی میکند و در صورت نبودن مجوز اجازه ادامه نمی دهد تا لاگین مجدد انجام شود.
- کلیه ستاپ ها و پیاده سازی فریمیوس روی پلاگین با شما می باشد. این موارد شامل لایسنس دهی، کنترل نسخه و… می شود.
- فریمیوس برای مانیتور و کنترل مشتریان، به ما یک sdk می دهد که باید بر روی سایت رسمی ما نصب و راه اندازی کنید.
- در کنار هر بلاک در گوتنبرگ، المنتور یا دیزاینرهای دیگر یک آیکن از dland ظاهر کنید. وقتی کاربر روی آن آیکن کلیک می کند، طول و عرض آن بلاک همراه با دیوایس موردنظر برای دیزاینر ارسال می شود. دیزاینر به صورت popup باز شده و در آن یک فریم با آن سایز ایجاد می شود و کاربر طرح خود را در آن پیاده می کند. سپس شما با یک دکمه که به کاربر داده اید،shortcode را گرفته و جایگزین کد داخل بلاک کاربر می کنید. خروجی شورتکد بنا به انتخاب کاربر می تواند media، HTML/CSS, Slide باشد.
- اضافه کردن عکس به دیزاینر از دو طریق drag-drop یا از طریق MM انجام خواهد شد. همچنین دیزاینر باید بتواند عکس های خود را روی MM گذاشته یا ریپلیس کند. شما باید این api ها را فراهم کنید.
- ما باید بتوانیم اطلاعیه های خود را به تناسب هر نوع کاربر به شکل متن و تصویر در پلاگین نمایش دهیم. این کار را از طریق ایجاد بخشی در سایت اصلی که نسخه های نصب شده پلاگین به آن api می زند انجام می دهید.
* تنها درخواست هایی که از طریق تلگرام و یا ایمیل اعلام شده در سایت ارسال می شوند مورد بررسی قرار می گیرند.
* لطفا سابقه، نمونه کار اعلام نمایید و بفرمایین چطور میتونین با این پروژه همکاری کنین


