StarCalendar. github.com/ilius/starcal. twitter.com/saeedgnu

Similar documents
پایگاه داده ها طراحی پایگاه داده رابطهای با نگاشت ER و EER به رابطهها امیر جهانگرد

پایگاه داده ها دانشگاه صنعتی جندی شاپور نیم سال دوم

Adverb Clauses. Abolhassan Tajfar Page 1 of 45

مفاهیم پایگاه داده سید کاوه احمدی

Bicycle sharing in Asia: a stakeholder perception and possible futures

ا ج ن ز ر ه ش ر د ه د ا و ن ا خ ی گ ن ه ر ف ی ر ی ذ پ ب ی س آ و ی ن ی د ت ا د ا ق ت ع ا ن ی ب ه ط ب ا ر 2

clauseهای وصفی Adjective Clauses Abolhassan Tajfar Page 1 of 79

ن ا ب ع ش ه ی م س 2.

Scanned by CamScanner

Journal of Sociological researches, 2016 (Summer), Vol.10, No.2

)Fathi.

ل ا س م ن ا ی ب و ه م د ق م ز

ر ب ک ا ی ل ع ل ی ع ا م س ا ن

ا آ راه و ده ای ای ر ا ت و ف ا و د دارد. م ا در و ات آی ز ن م رآ ی د ر ن آی ز ن از م ا ار و م ا ار ی رد ا ده در ز ن

ر گ ش د ر گ ه ع س و ت ر د ن آ ش ق ن و 1

د ن ی ا ر ف ل د م ک ی ر د ر و ش ک ش ر و ر پ و ش ز و م آ 3

ا ز و م آ ش ن ا د ی ا ر ب ی ن ی ر ف آ ر ا ک ش ز و م آ ی س ر د ه م ا ن ر ب ی و گ ل ا ی ح ا ر ط ه ط س و ت م ل و ا ه ر و د 4

د و ش ی م ر ا ک ق ال خ ا ح ال ص ا د ر ک ی و ر س ا س ا ر ب ی ن ا م ز ا س.

ه ا ن پ ت ع ی ر ش ی ل و د ی ج م ن

Journal of Sociological Researches, 2017 (Spring), Vol.11, No.1

ر ا ف غ د م ح م ن س ا ب ع د م ح ا ن

افتتاح حساب در سایت PERFECTMONEY.IS برای باا کردن حساااااااا کاا ربری ابراادا باا ااد در صااااااایحاا اصااااااا

) 0 2 ص 4931 ی س ا ی ل ا و ر و پ ر و ش ا س ( د ش ا ب ه ت ش ا د ن د و ج و ا ه ن آ ت ی و ر و

نقش و تأثیر سواحل خلیج فارس و منطقه مكران در اقتصاد بین الملل و تأثیر استراتژیكى آن بر ایران با ارائه یك مدل راهبردى در توسعه اقتصادى و سیاسى

د ن ت س ه ن ا ر ی ب د ه. ه ا گ ش ن ا د ی م ل ع ت ی ئ ه و ض ع.

ش ز و م آ ه. 2.Educational justice 3.Promising 4.Social mobility 5.Critical thinking 6.Education 7.Commoner 8.Uniqe 9.

Journal of Sociological researches, 2016 (Summer), Vol.10, No.2

-M l/min -P V DC -L- 0 2 bar

Study of practicality,reliability,validity & norming of teachers entrepreneurship

Effect of Riser-Seabed Interaction on the Dynamic Behavior of Risers

2. Jones-Mason 3. Mikulincer 4. Burke


ج و ن ه ک ر و ن م ا ی پ ه ا گ ش ن ا د س ر د م و ی ش ز و م آ ت ی ر ی د م د ش ر ا س ا ن ش ر ا ک

درسیدربازاریابینرمافزار مناسبزمانرفتارکنید.

Research Paper Effect of 8-Week Resistance Training on Hypertrophy, Strength, & Myostatin Concentration in Old and Young Men

ن ا خ ل ض ف ا م ی ر م ه


اصل ز ا ه د ا ف ت س ا ا ب ر

Source: Authors. Source: (Binesh,2006)

A Survey of job alienation in the administrative of iran(case Research : Education employers of Garmsar City)

active memory, planning, organizing and mental flexibility in children aged 7 to 12 years

ه ز ک ن و ه ن ی م ا د م ح م ن

و ر س م ی ح ر ن و س و م ف ج ن ر ی م ه ل و ک ش ک ی ر ق ا ب ی ل ع ن

ر گ ش د ر گ ف د ه ی ا ه ا ت س و ر ی د ا ص ت ق ا ت ال و ح ت ر د ی ر گ ش د ر گ ش ق ن ل ی ل ح ت 1

لاس ی خ ت ا ش ن ه ام ع ج ی ها ه

2 Vandenberg 3 Veen 4 Netemeyer

Journal of Sociological researches, 2014(summer), Vol.8, No.2

کلیه حقوق مادی و معنوی این مجموعه برای شرکت فنی و مهندسی ایمن افزار وایا محفوظ و هر گونه کپی برداری چاپ و تکثیر مستلزم اجازه کتبی است.

ف ل د ک ی ن ک ت ا ب ه ا گ ش ن ا د 3

ت ت ا و م د ه ار ش م ه

ا ن آ ی ع ا م ت ج ا ه ی ا م ر س و 2

The Role of cognitive functions on mathematics performance of students Based on revised Bloom's taxonomy

We release Mascot Server 2.6 at the end of last year. There have been a number of changes and improvements in the search engine and reports.

ا ه ف ص ا ر ه ش ش ر و ر پ و ش ز و م آ ی د ا ت س ن ا ن ک ر ا ک ی ف ا ر ح ن ا ی ا ه ر ا ت ف ر ی ن ی ب ش ی پ ی

ر ب ل ک ر د ق ال ط ه ب ج ا و د ز ا ت ب س ن. ت س ا ه د و ب ه ا ر م ه ن ا س و ن ا ب ق ال ط ه ب ج ا و د ز ا ت ب س ن و ق ال ط ج ا و د ز ا و

ا ه ت ف ا ب ی ز ا س و ن و ی ز ا س ه ب ر ب ی ع ا م ت ج ا ه ی ا م ر س ی ر ا ذ گ ر ث ا و ه ط ب ا ر ل ی ل ح ت ) ت ل و د ه م ط ا ف ز


To Logon On to your tee sheet, start by opening your browser. (NOTE: Internet Explorer V. 6.0 or greater is required.)

ط ی ح م ت س ی ز ی ر ا د ی ا پ ر ب د ی ک أ ت ا ب ن ا ر ه ت ر ه ش ک ی ل ن ی س ح م ال غ م ی ح ر ن

و ر س م ی ح ر ن ا ر ی ج ر ف ا ض ر ل ا د ب ع ن

ب م ی س ا ض ر ن ف ج ن س ا ب ع ن

ل ل م ل ا ن ی ب ت ر ا ج ت ش ر ت س گ ر د ی س ا ی س و ی ن ا گ ر ز ا ب ی ر ا ج ت د ا ز آ ق ط ا ن م ش ق ن )

ا ن ک ر ا ک ن ی ب ر د ر و ه ر ه ب د ض ر ا ت ف ر و ی ن ا م ز ا س ی د ن و ر ه ش 4


ش ا ب م ه ی ن و ن ک ی ش ز و م آ ل

ق ن س ر ه ش ر د م و د ه ط س و ت م ع ط ق م ن ا م ل ع م ی ل غ ش ک

د ا ر ی ر س م ه ش ق ن ز ا ت ا ر ا ظ ت ن ا ن ی ج و ز ن س ف ال ت خ ا ر ه و ش ت ن و ش خ ی گ د ن ز ر و م ا ر د ت ر و ش م

aks koshti kaj zanan 2BA385E93715EDF0C0C2BD48327C830C Aks Koshti Kaj Zanan

ا ن ک ر ا ک ی ز ا س د ن م ن ا و ت ا ب د ن م ش و ه ت ی ر ی د م ه ط ب ا ر ی س ر ر ب ی م ال س ا د ا ز آ ه ا گ ش ن ا د ی ز ک ر م ن ا م ز ا س ن

ی ا ز ف ا ی س ا ی س و ی ع ا م ت ج ا ی د ا ص ت ق ا ت ی ع ض و د و ب ه ب ت ه ج م ه م ی ع ب ن م ن ا و ن ع ه ب و ه د ر ک ک ر د خوبی به ا ر ت ع ن ص ن ی ا ت

Club s Homepage Use this feature to return the club s website.

Identification, Ranking and Classification of Factors Influencing on Employees Happiness by Kano Model

Companies ) ل ی ت س ا ل ا ر ن ج ( ی ت ل و د ت ک ر ش و د ز ا ) )290=N ب خ ت ن م ه

Study of relationship between components of management intellectual capital with managers job performance

ن ا ت س ب ا ت م و س ه ر ا م ش م ه ن ل ا س ی و پ ی ی ح ی ی د ه م د م ح م ن ف ج ن س ا ب ع ن

ل ا م و س ر و ش ک ی ی ا ی ر د ق ط ا ن م ت ی ن م ا ر ب ی ی ا ی ر د ی د ز د ر ی ث ا ت ی

ز ا د ن ت ر ا ب ع ق ی ق ح ت.

شرکت الدیز نیرو ( سهامی خاص( تامین کننده تجهیزات صنایع حفاری نفت و گاز کاتالوگ حفاری

د ه د.. ) Lopez. 2006; Rujinan. 2006(. ) Anderson et.al,1994;carrillat et.al,2009(

ا ر ی د م ی ز ا س د ن م ن ا و ت ر و ظ ن م ه ب ی ن ا م ز ا س ت ی ف ا ف ش ل د م ی ح ا ر ط ی م ال س ا د ا ز آ ه ا گ ش ن ا د 3

Club s Homepage Welcome Club Calendar Logout Add a Request Play Date Requested Time Hole Selection # of Tee Times Break Link

ن ا ر ه ت ر ه ش ن ا ن ا و ج : ی د ر و م 1

س ا Rukn al-din eftekhari and ( (. ) qaderi, 2002: 23-40

مجله الکترونیکی جهان بیمه و دانش شماره مدیریت 2 اسفند

ID: Cookbook: browseurl.jbs Time: 03:38:04 Date: 30/04/2018 Version:

«الن» تنها ساع تساز یکی از شهرهای اطراف بود. قیم تهای او بال بود چون مشتر یها م یخواستند هر طور شده یکی از ساع تهایش را داشته باشند.

ا س ت اب ت3 ار ه م ش فت م ه ل اس

نگرشهاي اقيانوس چكيده

The MQ Console and REST API

Final Project Report (NHL Cumulative Game by Game Visualization) Patrick Wong April 24, Motivation & Audience for Visualization

2. United Kingdom, Mexico and Thailand

ل ا د ب ع ا ض ر د م ح م 1 ر ا ب خ ا د م ح م ن

ن ا ت س ب ا ت م و س ه ر ا م ش م ه ن ل ا س ا و ق ت ه م ط ا ف ن ت س ا ه د ش ه ع ل ا ط م.

ا و ه ا ر ه ش ی ز ر و ا ش ک د ا ه ج ن ا ن ک ر ا ک ر د Effect of Training Communication Skills on Organizational Culture and Organizational

2 Uwameiye, &Ojikutu 3 Ndagana, &Onifade 4 Co-teaching 5 Coltrane, 6 Friend, & Cook.

ح ص ا ن ه د ی ع س ن ر پ ن ی ه م ن س د ر ب ز ت ب ع ل ن

س ی ر و ت ت ع ن ص ه ا گ ی ا ج ر ظ ن ه ط ق ن ز ا ی

ر تب ی ا م ر له لسس لی ل ت ح ه و د سر فت باف ب

ا ر ی ا ه و ق ل ا ب ت ی ف ر ظ 1-2- ر

ال ق ن ا ز ا د ع ب ن ا ر و د ر ب د ی ک أ ت ا ب س ر ا ف ج ی ل خ ت ی ن م ا ر د ا ک ی ر م ا و ن ا ر ی ا ش ق ن ن

Transcription:

StarCalendar github.com/ilius/starcal saeed.gnu@gmail.com twitter.com/saeedgnu ۱

اهداف پروژه هدف اولیه : نیاز شخصی هدف نهایی : برآورده کردن هم هه انتظارات یک کاربر ایرانی گنو / لینوکس از یک تقویم اهداف فرعی )دست یافته شده( چندزبانه بودن و پشتیبانی کامل از فارسی و انگلیسی پشتیبانی همزمان و موازی از انواع مختلف تقویم )جللی میلدی قمری (... قابلیت اجرا در تمام توزیعهای گنو / لینوکس و تمام محیطهای گرافیکی دسکتاپ قابلیت شخصیسازی بر اساس نیازها و سلیقههای مختلف ۲

تاریخچهه توسعه ۳

تعداد خطهای برنامه git ۴

قابلیتهای آشکار و نهان تنظیم و شخصیسازی فوقالعاده از طریق پنجره ه ترجیحات و پنجره ه شخصیسازی مدیریت کامل رویدادها و قابلیت تعریف انواع رویداد خط زمان واقعی پیوسته و تعاملی ۵

پنجره ه اصلی ۶

ترجیحات - عمومی Double-Click برای فعال / غیرفعال کردن فقط در اوبونتو نشان داده میشود برای جابجایی )عمودی( سطر انتخاب شده ۷

ترجیحات - ظاهر Drag & Drop Colors Bad UX, huh? I know قابلیت انتخاب Theme در آینده اضافه خواهد شد )بر اساس (Gtk3 ۸

ترجیحات - افزونهها فعال / غیرفعال کردن برای جابجایی سطر انتخاب شده ۹

ترجیحات - افزونهها - اوقات شرعی ۱۰

ترجیحات - پیشرفته ۱۱

شخصیسازی ۱۲

شخصیسازی جابجا کردن widget ها )بصورت افقی یا عمومی( با کلیک بر روی دکمههای بال و پایین نمایش گزینههای مربوط به هر widget با کلیک بر روی آن اعمال تغییرات بصورت آنی در پنجره ه اصلی )دکمهه اعمال یا تائید وجود ندارد( ۱۳

مدیریت رویدادها گروه رویدادها )معادل اصطل ح Calendar در تقویم گوگل( رویداد کار یادداشت روزانه کار تمامروز رویداد هفتگی رویداد ماهیانه رویداد سالیانه رویداد دلخواه : شامل تعدادی قاعده ه رویداد Event Rule / ۲۲ نوع قاعده که بعضی پیشنیاز بعضی دیگر هستند سال ماه روز در ماه روز هفته شماره ه هفته در سال تاریخ شروع پایان مدت بازه ه زمانی در روز... ۱۴

Why didn't I use icalendar? icalendar was Registered in 1998 by Microsoft as RFC 2445. Used by Google calendar, Evolution, Korganizer, Apple calendar and almost every other calendar program ۱۵ Unorganized and confusing design Impossible to fully implement in both back-end and front-end (GUI) "Recurring and repeating meetings still have a bit of mystery and ambiguity associated with them. Resulting in no true interoperability between the current calendaring and scheduling vendors.", Wikipedia

Why didn't I use icalendar? Not compatible with some non-gregorian calendars like Islamic and Hebrew calendars, Wikipedia Libraries, applications and services implementing icalendar do not support Jalali calendar For more information: http://en.wikipedia.org/wiki/icalendar ۱۶

So... I decided to design my own standard All event rules and event types are implemented from scratch, with Python Full and equal support for Jalali, Gregorian and others Flexible, organized and extendable design Store revision history of events (with git-like object storage design) No database on client (desktop) Use JSON and BSON file formats ۱۷ Faster than XML, designed to be read/write by machine, not by human JSON is plain-text (ASCII or UTF-8), editable by human BSON = Binary JSON, used by MongoDB

A little of the algorithm Super-Fast Occurrence Search (by time) I have 10,000 events in the last 10 years Maximum 10 events per day Give me all the events in this one day range, right now! (avg < 0.01 s) Logarithmic (Sublinear) time: O(query_time) ~ ln(events_count) Small index size (in-memory) Fast index generating Data Scructure: Event Search Tree ۱۸ Invented by myself, a combination of: Red-Black Binary Search Tree Binary Heap (one for each tree node) Dictionary (Hash Table) 400 lines of code

مدیریت رویدادها ۱۹

مدیریت رویدادها ۲۰

مدیریت رویدادها از سال ۲۰۰۶ به بعد تصمیم گرفته شد تا روز آزادی نرمافزار در سومین شنبه سپتامبر جشن گرفته شود ). منبع : ویکیپدیا : روز آزادی نرمافزار( ۲۱

خط زمان واقعی و پیوسته قابلیت تغییر مقیاس ) (zoom / scale از چند ثانیه تا چند هزار سال محاسبه و render کردن رویدادها بصورت پویا هوشمند و سریع )با الگوریتم رنگآمیزی گراف( رابط تعاملی : منوی راستکلیک رویداد جابجایی و ویرایش رویداد با Drag کردن کلیدهای راست چپ / Home فاصله بهعلوه و منها ۲۲

مهمترین نقص برنامه ۲۳

مهمترین نقص برنامه Sync data via ۲۴ Online Service

Free SaaS - The missing piece SaaS = Software as a Service ۲۵ Google Calendar Google Drive / Docs Spotify / SoundCloud Online Dictionaries

Free SaaS - The missing piece نرمافزار سمت سرور این SaaS ها عموما ا منتشر نشده است امکان اجرای این نرمافزارها در سرور شخصی سازمانی خانوادگی و... وجود ندارد باید تمام اطلعات شخصی خود را در اختیار شرکتهای تجاری )عموما ا خارجی( بگذاریم آزاد بودن نرمافزار کلینت آزادی کامل را برای ما به همراه نمیآورد ۲۶

StarCalendar Event Service به دلیل تمام دلیلی که در بال گفته شد و همچنین بسته بودن سرویس Google API بر روی IP های ایران و نبود پشتیبانی از تقویم جللی در سرویسهایی نظیر Google Calendar تصمیم گرفتم که پروژه ه جدیدی را شروع کنم https://github.com/ilius/starcal-server Initial commit: 2016-08-07 ۲۷

StarCalendar Event Service Language: (Google's) Go! Database: MongoDB HTTP(S) + JSON RESTful API (I try to!) License: Affero GPL ۲۸ www.gnu.org/licenses/why-affero-gpl.fa.html

StarCalendar Event Service starcalendar.net ) (Redirects to Github for now برای کاربرانی که سرور شخصی ندارند یا توان / فرصت راهاندازی این سرویس را ندارند اما به ما اعتماد دارند (: ۲۹

StarCalendar Event Service ۳۰ Local Event Group (Dekstop) [x] Account: select from list Remote Group Select from remote groups, or Create new remote group Sync Interval (seconds) [x] Pull [ ] Remove Local Events [ ] Remove Remote Events [x] Push

StarCalendar Event Service ۳۱ Done Register User POST /user/register/ Done Set User Full Name PUT /user/full-name/ Done Unset User Full Name Done Set User Default Group Id Done Unset User Default Group Id Done Get Group List GET /event/groups/ Done Add Group POST /event/groups/ Done Update Group PUT /event/groups/{groupid}/ Done Get Group GET /event/groups/{groupid}/ Todo Delete Group Done Get Group Event List GET /event/groups/{groupid}/events/ Todo Get Group Events Full Data GET /event/groups/{groupid}/events-full/ Doing Get Group's Modified Events GET /event/groups/{groupid}/modified-events/{datetime}/ Todo Get Group's Moved Events GET /event/groups/{groupid}/moved-events/{datetime}/ Todo Import Event Groups POST /event/groups/import/ Todo Import Events into Group POST /event/groups/{groupid}/import/ DELETE /user/full-name/ PUT /user/default-group-id/ DELETE /user/default-group-id/ DELETE /event/groups/{groupid}/

StarCalendar Event Service ۳۲ Done Copy Event POST /event/copy/ Doing Add Event POST /event/{eventtype}/ Doing Get Event Info GET /event/{eventtype}/{eventid}/ Doing Update Event Data PUT /event/{eventtype}/{eventid}/ Todo Delete Event Todo Update Event Invitees PUT /event/{eventtype}/{eventid}/access/ Todo Change Owner of Event (Disown) PUT /event/{eventtype}/{eventid}/owner/ Todo Move Event PUT /event/{eventtype}/{eventid}/group/ Todo Unset Group Todo Get Event History GET /event/{eventtype}/{eventid}/revisions/ Todo Change Type of Event PUT /event/{eventtype}/{eventid}/type/ Todo Patch Event Data Todo Export All Events and Groups GET /event/export/ Todo Request to Join Event POST /event/{eventtype}/{eventid}/join/ Todo Leave Event POST /event/{eventtype}/{eventid}/leave/ Todo Export Event to ICS GET /event/{eventtype}/{eventid}/ics/ Unplanned Get Occurrences of Events in Group GET /occur/groups/{groupid}/{startdatetime}-{enddatetime}/ Unplanned Get Occurrences of Event GET /occur/{eventtype}/{eventid}/{startdatetime}-{enddatetime}/ DELETE /event/{eventtype}/{eventid}/ DELETE /event/{eventtype}/{eventid}/group/ PATCH /event/{eventtype}/{eventid}/

Want to Help? We need package mantainers for Ubuntu, Debian, opensuse, Fedora, ArchLinux, and even Windows For donations, visit: paaz.ir/hamiha/product/starcalendar Thank you! ۳۳

برای اخبار و نکات انتشار فارسی : saeedgnu.blog.ir برای گزارش باگ درخواست قابلیت یا پرسیدن سوالت : github.com/ilius/starcal/issues ۳۴