阅读时间:3分钟 (654个单词)

开源学生项目:在Joomla中创建草稿内容

我带着GSoC 2016项目的下一篇文章回来了。之前我写到了中心思想“可分享的草稿内容”,编码工作有很多,但完成的时间却不多!上一篇文章解释了项目的范围、实现步骤和此增强特性的优点。在我的第二篇文章中,分享了项目到目前为止的进展,以及过去几周编码过程中的所有是与否的时刻!



第一阶段

由于期末考试,我在6月4日后才开始编码。第一个Pull Request(PR)是为分享按钮。第一阶段是关于在需要的地方添加分享按钮。这里需要的条件是文章需要先保存才能分享。因此,最初我开始工作于根据文章是否保存来启用/禁用按钮。然后,在导师的帮助下找到了一个更简单的方法,即按钮仅在文章保存时可见。因此,一旦生成了文章ID,按钮就会可见。

按钮放置在版本按钮旁边。JToolbarHelper::custom方法帮助我做到这一点!

接下来是创建项目的数据库架构。在前一个PR(确切地说,3天)之后,下一个PR(包含数据库更新和新的表#__shared_draft)完成了。更新适用于mysql、postgresql和azure。表中的字段包括id(主键)、articleId、title、created、modified和sharetoken。

喜悦时刻:第一个小步骤完成了。

失望时刻:编码开始较晚。

第二阶段

与导师商定,每周五举行一次会议,以便更容易地进行评估和更新。

这些会议对我帮助很大,从讨论时间管理到学习如何编写更精细的代码。学习曲线呈指数增长。我在导师的大力帮助下了解了最佳编码实践。

现在是实施项目骨干——共享令牌的时候了。讨论了共享令牌的生成及其使用,最初通过硬编码逻辑来创建令牌。Roland建议我使用genRandomPassword()、JTables、异常处理,Rishi帮助我理解在这个过程中如何使用JTables而不是直接在表中插入值。导师在每个时刻的帮助都是巨大的。

实现了相应的逻辑,并实现了所需的JavaScript/JQuery代码。

https://github.com/joomla-projects/gsoc16_shareable-draft-content/pull/13

这花费了很多时间,因为我对JS和JQ只有相当基础的了解。因此,错误解决、根据编码标准编写代码、每周会议在这个过程中很有帮助。

耶!通过中期评估!非常感谢我的导师们在我项目延误后对我展现出的巨大信心。

不利的时刻:处理时间损失。

第3阶段

这一阶段是关于草案管理器,第一步是在文章页面的子菜单中添加“共享文章”选项。

https://github.com/joomla-projects/gsoc16_shareable-draft-content/pull/14

已经准备了草案管理器的初始视图大纲,PR正在进展中。这将包含所有共享的文章以及相应的共享链接

待办事项

  1. 添加共享文章的过滤器

  2. URL缩短器

  3. 如前文所述的第4阶段。

感谢我的导师Rishi和Roland在我有疑问时解答我的问题。感谢GSoC团队鼓励我并给予必要的推动。我也感谢Yves Hoppe的所有帮助和鼓励的话语,以及整个Joomla!社区,在那里人们可以在任何时候向任何人寻求帮助。我很高兴地说,我不仅仅有两个导师,还有社区中的许多其他导师。

等待我的下一篇文章来查看这个项目的结局...我能否按时完成?你将在下一期的JCM版中知道。 :)

一些发表在Joomla社区杂志上的文章代表了作者对特定主题的个人观点或经验,可能不符合Joomla项目官方立场

0
GSoC: 帮助Yash Part-II. 进展情况...
GSoC: 为什么JavaScript测试需要立即合并...
 

评论

已经注册? 登录这里
尚无评论。成为第一个发表评论的人

通过接受,您将访问https://magazine.joomla.net.cn/外部提供的第三方服务