需要在写帖子的表单下面安一个上传文件的表单,而我发现Struts的一个页面不能同时放上两个html:form,参考了一下子matrix的设计,好像可以用<iframe>解决,但是正在探索中。
标签:项目实施
改变公告牌形式;优化内存占用
把公告牌移到菜单上。
因为显示帖子列表时用不着帖子的内容,在ArticleDB.java中新加一个用于返帖子列表的方法getArtList(),帖子中没有帖子内容和资源。
把源码中/database目录的mysql脚本分版本重写
分为了learndiarydb_mysql4.0.17.sql(用于mysql4.0.*)和learndiarydb_mysql4.1.18.sql(用于mysql4.1.*),ant脚本build.xml中的initdb也要分为两个版本initdb_mysql4.0.17和initdb_mysql4.1.18
学习日记的邮件系统不能群发邮件
试验了两次向注册用户群发系统公告。一次用webmaster@learndiary.com的帐号。log显示了每一封都发出了。但是我注册的那个guest帐号并没有收到。大概每200位后的朋友可能都没有收到。发给200位前的朋友的邮件又有近100封没有发送成功,不是拒收就是发送失败。
另一次用learndiary@tom.com的帐号发,就是今天早上,结果情况更差,发了20封就停了,log上也显示只发了20封。
我现在可以确定学习日记的邮件系统不能完成它应该有的功能。不知问题出在哪儿,用什么方法才能保证所有有效的邮件都能发送成功?这是一个需要解决的问题。
但这不是现在最紧的问题,先记在这里再说。
完成issue 10:let user write diary more conveniently
http://learndiary.tigris.org/issues/show_bug.cgi?id=10 并已经更新cvs库。下一步做什么?考虑中。
上传了修改日记所属目标的功能
现在,学习日记可以修改日记的目标了。
--admin
要认真测试修改日记目标的功能
即是在修改日记时可以修改日记所属的目标,昨晚已经编码完成。因为这个功能牵涉数据库的地方多,如果出错了,不好维护数据库。所以在进入实际运行站点之前要好好的测试一下。
1、预期的实现效果:
1)日记的parentID变为新目标的articleID,日记的最近更新(lastUpdate)为改变目标的时间;
2)旧目标的日记数((diarySize))减1;
3)新目标的日记数(diarySize)加1,新目标的最近更新(lastUpdate)为日记改变目标的时间;
4)我的进行中的目标(usergoal表)的旧目标的myDiaySize减1;
4)我的进行中的目标(usergoal表)的新目标的myDiaySize加1,我的最近更新(myLastUpdate)变为改变目标的时间;
2、向自己提问:
1)、如果改变目标的日记写在新目标建立之前,岂不是目标还没建立就在下面写了日记?这符合逻辑吗?符合学习日记的理念吗?
2)、如果改变目标的日记是旧目标的最新日记,把这个日记移走后,旧目标的最近更新仍然是这个日记的未移走的时间,这正确吗?
3)、其它问题...
3、答问:
1)、这认为符合逻辑,一个目标我先还没有确定要实现它。如学习spring,但是又在学习java中又写了相关的日记。于是,在spring目标建立后,我就把这篇日记移入这个目标下。
2)、正确,旧目标确实在这个日记建立时更新了。
4、实施步骤:
用junit测试建立初始数据太烦了。我没有使用测试在先的方法。以后新版本的开发再考虑是否采用测试在先的测试方法。
1)、建2个新目标在上面测试。
2)、在上传这功能到实际运行站点前备份数据。
把界面的功能布局改善了一下
issue 10大部分完成。并且上传到了运行网站和CVS库。
我有点烦了
编码真的是一件枯燥无味的活动,前些天征对与用户交互的改进设计后,对编码实施有了畏难情绪,迟迟不愿动手。
但是,我想,既然在做它,这个任务我一定完成,为了使学习日记使用起来方便一点。
使写作日记更方便的具体改动
为了鼓励用户交流,鼓励发帖,特别的进行easy to write diary的改进。按实现的重要性排序:
1、当用户撰写成功一个目标的第一篇日记时,就加入了这个目标。以后在写这个目标下的日记时就不必再次加入这个目标了;
2、如果用户在已经退出或完成的目标中写日记完成后,目标自动转为进行中的目标;
3、既要提供用户专门写日记的链接,更要提供用户在相应的帖子中写日记的选择:
1)、在菜单栏中单独建一个最醒目的链接,文字提示为:今天我要写日记。里面为单独写日记的地方,如果一个用户没有加入任何目标,则提示他在主页上加入目标或者创建目标。怎么样判断一个用户没有加入任何目标呢?有两种方法来进行判断:
(1)、在usergoal表中检测是否有这个用户的进行中的目标项;
(2)、在user表中添加3个字段,分别为:进行中、退出的、完成的目标数目;
决定采用第(2)种方法,这里需要把userGoal表中的数据转到user表中的上面的3个字段。
2)、在目标的内容上加入添加日记的链接;
3)、在目标的所有日记列表中加入添加日记的链接;
4)、在目标的我的日记列表中加入添加日记的链接;
5)、在日记的内容上加入添加同类日记的链接;
4、完善用户添加目标的过程,新加一页名为:readyToAddGoal.jsp并且把它加入页面类型常量,建议先进行搜索目标的过程,如果用户点击先进行目标的搜索则在同一页进行目标的搜索同时在导航条中保留“准备添加新目标”的链接;如果用户点击“直接撰写新目标”,则正式撰写新目标。