craftgear / opdiaryplugin Goto Github PK
View Code? Open in Web Editor NEWThis project forked from balibali/opdiaryplugin
Diary plugin for OpenPNE3
Home Page: http://redmine.openpne.jp/projects/plg-diary
License: Apache License 2.0
This project forked from balibali/opdiaryplugin
Diary plugin for OpenPNE3
Home Page: http://redmine.openpne.jp/projects/plg-diary
License: Apache License 2.0
diary/show.json ã¯ãAPIèšèšã¬ãã¥ãŒã®æ®µéã§åé€ããããšæããŸãã®ã§ãapps/api/config/routing.yml ãããdiary_show ã®èšè¿°ãåé€ããŠãã ããã
ã¹ããŒããã©ã³çã®æ¥èšã®äžèŠ§ããç»é²æžã¿ã®æ¥èšãéžæãããšãNot Foundãã®ãšã©ãŒããŒãžã衚瀺ãããŸãã
URLã確èªãããšæ¬æ¥ãhttp://ãµãŒãã¢ãã¬ã¹/pne38/diary/1ããšãªãã¹ããšãããããhttp://ãµãŒãã¢ãã¬ã¹/diary/1ããšãªã£ãŠããŸããã
調æ»åã³ä¿®æ£ããé¡ãããããŸãã
ã³ã¡ã³ãããŒã¿ã¯ãã20件ç®ïœ40件ç®ãååŸããŠããããšãã£ããããªãã³ã¡ã³ãããŒã¿ã®ã¿ãååŸããŠãããå ŽåãåºãŠããããšæããŸãã®ã§ãã³ã¡ã³ãã¯æ¥èšãšäžç·ã«ååŸããã«ãå¥ã ã«ååŸããŠãããããªèšèšãšããŠãã ããã
以äžãšåããããªäºè±¡ã§ãã
#34
éç¥ã»ã³ã¿ãŒã®æ°çã³ã¡ã³ãã®éç¥ãã¯ãªãã¯ãããšçºçããŸãã
ä¿®æ£ããé¡ãããŸãã
Balsamiqã®ç»é¢èšèšã«ã¯æ€çŽ¢å
¥åæ¬ãããã®ã§ãã
èŠæ±ä»æ§æžã«ã¯ ãã»PCçã«ååšãããæ¥èšæ€çŽ¢ããã®æ¥èšã®é²èŠ§æ©èœãã¯é察å¿ãšããããšãããŸã
å®è£
ãšããŠã©ã¡ããæ¡çšããã°ããã§ããããïŒ
chromeã®ããããããŒããŒã«ã§UAãå€æŽããŠSNSã®ãããã«ã¢ã¯ã»ã¹ããæã«éå»ã®ã€ã¶ããçã¯è¡šç€ºãããŸããïŒ
ç§ã®ç°å¢ã§ã¯ã€ã¶ãããPOSTããŠãäœã衚瀺ãããŸãã
openpneã¯githubã®openpne/openpneãã¯ããŒã³ããŠäœ¿ã£ãŠããŸã
ååšããªãã³ã¡ã³ãã®idãæå®ããŠpostãå®è¡ããå Žåã以äžã®Fatal errorãšãªããŸãã
PHP Fatal error: Call to a member function isDeletable() on a non-object in /home/nakajima/sns/nakajimatest3xx.dazai2.pne.jp/plugins/opDiaryPlugin/apps/api/modules/diaryComment/actions/actions.class.php on line 63
以äžã®ãã¹ãã³ãŒããdiaryPostTest.phpã«è¿œå ããŠå®è¡ããŠãã ããã
$t->info('ååšããªãã³ã¡ã³ãã®åé€');
$json = $t->post('/diary_comment/delete.json',
array(
'apiKey' => 'dummyApiKey',
'id' => '0',
)
)
->with('response')->begin()
->isStatusCode('400')
->end()
;
ã¹ããŒããã©ã³ã§ææ°æ¥èšäžèŠ§ãèŠããšãå
¬éç¯å²ããéå
¬éããšããã€ãã¬ã³ããŸã§å
¬éãã®æ¥èšã衚瀺ãããŠããŸããŸãã
PCçã«åãããŠãå
¬éç¯å²ãããéå
¬éããšããã€ãã¬ã³ããŸã§å
¬éãã®æ¥èšã衚瀺ããªãããã«ããŠäžããã
ãã®ä»¶ã§ãããççµãšããŠå¯Ÿå¿ããŠããã ããªãã§ããããïŒ
ååšããªãæ¥èšã®idãæå®ããŠpostãå®è¡ããå Žåã以äžã®Fatal errorãšãªããŸãã
Fatal error: Call to a member function setMemberId() on a non-object in /home/nakajima/sns/nakajimatest3xx.dazai2.pne.jp/plugins/opDiaryPlugin/apps/api/modules/diary/actions/actions.class.php on line 42
以äžã®ãã¹ãã³ãŒããdiaryPostTest.phpã«è¿œå ããŠå®è¡ããŠãã ããã
$t->info('ååšããªãæ¥èšã®ç·šé');
$json = $t->post('/diary/post.json',
array(
'id' => '0',
'apiKey' => 'dummyApiKey',
'title' => 'æ¥èšã¿ã€ãã«',
'body' => 'æ¥èšæ¬æ',
'public_flag' => 'PluginDiaryTable::PUBLIC_FLAG_FRIEND',
)
)->getResponse()->getContent()
;
$data = json_decode($json, true);
$t->test()->is($data['status'], 'error', '"error"ãè¿ã£ãŠããã');
$t->test()->is($data['message'], 'ãã®ããŒãžã«ã¯ã¢ã¯ã»ã¹ã§ããŸããã ', '');
;
çŸç¶ãç·šéãã¿ã³ãæŒããŸã§æåè£ é£Ÿã®ã¿ã°ã¯è¡šç€ºããããŸãŸã§ãããé²èŠ§æã«ã衚瀺ã§ããªãããã«ããŠé ãããã§ãã
â æçš¿å 容
ããã«ã¡ã¯
op:bããã«ã¡ã¯/op:b
op:uããã«ã¡ã¯/op:u
<op:font color="#FF0000">ããã«ã¡ã¯/op:font
ã®å Žå
â çŸç¶ã®é²èŠ§æã¯
ããã«ã¡ã¯
op:bããã«ã¡ã¯/op:b
op:uããã«ã¡ã¯/op:u
<op:font color="#FF0000">ããã«ã¡ã¯/op:font
â çŸç¶ã®ç·šéæã¯
ããã«ã¡ã¯
ãšè¡šç€ºãããŸãã
以äžã®æ§ã«è¡šç€ºãããããä¿®æ£ããŠããã ãããã§ãã
â é²èŠ§æã»ç·šéæ
ããã«ã¡ã¯
ããã«ã¡ã¯
ããã«ã¡ã¯
ããã«ã¡ã¯
以äžããããããé¡ãããããŸãã
æ¥èšæçš¿æã«çµµæåãã©ãŒã ããçµµæåãéžæã§ããŸããã
iPhoneå®æ©ãšPCçãšãã«åæ§ã«éžæã§ããŸããã
æ¥èšæ¬æã«[i:13]ãªã©ãšå ¥åããå Žåã衚瀺ã¯ãããŸãã
â»éåžžã®3.8ã«ä»ãŸã§ã®æ¥èšãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããå Žåãçµµæåã®éžæã¯å¯èœã§ãã
ä»ãŠãŒã¶ãŒã®æ¥èšãç·šéããå Žåãç·šéãæåããŠããŸããŸãïŒstatus codeã200ã§æ»ã£ãŠããŸãïŒã
以äžã®ãã¹ãã³ãŒããdiaryPostTest.phpã«è¿œå ããŠãokãšãªãããã«ããŠãã ããã
$t->info('èªå以å€ã®æ¥èšã®ç·šé');
$diary = Doctrine::getTable('Diary')->findOneByMemberId(5);
$json = $t->post('/diary/post.json',
array(
'id' => $diary->getId(),
'apiKey' => 'dummyApiKey',
'title' => 'æ¥èšã¿ã€ãã«',
'body' => 'æ¥èšæ¬æ',
'public_flag' => 'PluginDiaryTable::PUBLIC_FLAG_FRIEND',
)
)
->with('response')->begin()
->isStatusCode('400')
->end()
;
æ¥èšãšã¢ã¯ãã£ããã£ãDBã«ç»é²ããã ãã§ã¯ã ãã§ãæ¢åã®éç¥ã»ã³ã¿ãŒãã¢ã¯ãã£ããã£é¢é£ã®ã³ãŒãã«æãå ¥ããå¿ èŠãããã®ã§ããããïŒ
æ¥èšãåé€ããéã®ãããã¢ãããŠã£ã³ããŠå
ã®éžæè¢ããåé€ããšãCancelããšãªã£ãŠããŸãã
ãåé€ããšããã£ã³ã»ã«ãã«ãªãããä¿®æ£ãé¡ãããããŸãã
Balsamiqã®å³äžãšå³äžã®å³ãåãå
容åãURLãªã®ã§ïœ€ã確èªé¡ããªãã§ãããã
ãããããé¡ãããŸã
以äžã® issues#37 ã®ã³ã¡ã³ãïŒ #37 (comment) ïŒã«ã€ããŸããŠã
éç¥ã»ã³ã¿ãŒåŽãæ¹åãããããšãæåŸ ããŠã¢ãžã¥ãŒã«å以äžã ãç»é²ãã
ãšããæ¹éã§ãã
ãšãããŠããã ããŸããããäžèšæ¹éã®éãã察å¿ããã ãäºã¯å¯èœã§ããããïŒ
話ãææ§ãªãŸãŸãšãªã£ãŠããŠå€§å€ç³ãåãããŸããã§ãããããããããé¡ãã§ããã°ãšæããŸãã
ããŒã ç»é¢ã®ãã¡ã³ããŒã®æ¥èš(ææ°4件衚瀺)ãã«ãå
¬éç¯å²ã"å
šå¡ã«å
¬é"以å€ã®æ¥èšã衚瀺ãããŸããã
èªåã®æžããæ¥èšã¯è¡šç€ºãããããã«ããŠãã ããã
ä»ãŠãŒã¶ãŒã®ãããã£ãŒã«ç»é¢ã®ãã¡ã³ããŒã®æ¥èš(ææ°4件衚瀺)ãã¯çŸç¶éãã§åé¡ãããŸããã
ååšããªãæ¥èšã®diary_idãæå®ããŠpostãå®è¡ããå Žåãstatus codeã500ã§æ»ã£ãŠããŸãã
以äžã®ãã¹ãã³ãŒããdiaryCommentPostTest.phpã«è¿œå ããŠãokãšãªãããã«ããŠãã ããã
$t->info('ååšããªãæ¥èšã«ã³ã¡ã³ã');
$json = $t->post('/diary_comment/post.json',
array(
'apiKey' => 'dummyApiKey',
'diary_id' => 0,
'body' => 'ã³ã¡ã³ãæ¬æ',
)
)
->with('response')->begin()
->isStatusCode('400')
->end()
;
pc_frontend/modules/friend/actionsã®ã¹ããçšã¢ã¯ã·ã§ã³å
ã§
opSmartphoneLayoutUtil::setLayoutParameters
ãšããã®ãåŒã°ããŠããã®ã§ãããããã¯ãªã«ãããŠããã®ã§ããããïŒ
æ¥èšãã©ã€ã°ã€ã³ã§ãã¹ããçšè¡šç€ºãããéã«ã¯ãã®ã¡ãœãããåŒã¶å¿
èŠããã
ã§ããããïŒ
UIã€ã¡ãŒãžã®ããŒã ç»é¢ã«ä»¥äžã®èšè¿°ãããã®ã§ãããŒã ç»é¢ã«ãæ¥èšäžèŠ§ã¬ãžã§ããã衚瀺ã§ããããã«ä¿®æ£ããé¡ãããŸãã
ãæ¥èšäžèŠ§ã¬ãžã§ããããããŒã ã«ã衚瀺ã§ããããã«ãããã
UIã€ã¡ãŒãžïŒhttps://op.mybalsamiq.com/projects/all/opDiaryPlugin_1
diary/search.json ã«2çš®é¡ã® format ãæå®ã§ããããã«ããŠãã ããã
äœãæå®ããªããšãã¯æ¥èšè¡šç€ºçšã®ããŒã¿ãååŸãã ãããã©ãŒããããæå®ããæã¯æ¥èšäžèŠ§çšã®ããŒã¿ãååŸã§ããããã«ããdiary/show.json ã䜿çšããªãæ¹æ³ãå®çŸããŠãã ããã
ãå±éããã ããAPIèšèšè³æããã以äžã®APIããã¥ã¡ã³ããèµ·ãããŸãã
http://houou.github.com/api.php/
çŸç¶ã§ã¯æ å ±ã足ããŸããã®ã§ãå¿ èŠãªæ å ±ãå çããã ããŸãã§ããããïŒ
ãªããå ççšã®ãã³ãã¬ãŒãè³æãäœæèŽããŸããã®ã§ãå çã«ã€ããŸããŠã¯ãã®ããã¥ã¡ã³ãã«ãé¡ãããŸãã
https://docs.google.com/a/tejimaya.com/spreadsheet/ccc?key=0AvmFuhEir3EGdDE5UnIyRDlGaExmdGZ2SURGakJvWGc
diary/show.json ã«ãŠãæ¥èšãååŸããŠããéã«ãååŸã®æ¥èšãååŸããŠããããã«èšèšãããŠããŸããããã®èšèšæå³ã«ã€ããŠãèãããã ããã
çµµæåå
¥åã§ããã¹ããšãªã¢ã«ãã©ãŒã«ã¹ã移ããã
äžæåå
¥åããããšã«ããã¯ã¹ã¯ããŒã«ããªããŠã¯ãªãã
æäœæ§ãæªã
OPM-1-1-18ã«ãŠèšåãããŠãã â管çç»é¢ã®ãã¿ã€ã ã©ã€ã³æŽæ°èšå®ãâãšããã®ãèŠåœãããŸãã
ãªã«ãèšå®ãå¿
èŠãªã®ã§ããããïŒ
以äžã®è¡šèšã«ãªãããã«ä¿®æ£ãé¡ãããããŸãã
1åæªæº ââç§å
1æéæªæº ââåå
24æéæªæº ââæéå
24æé以äž(å幎) mm/dd hh:mm
24æé以äž(å幎) yyyy/mm/dd hh:mm
æ¥èšæçš¿ã®ã¿ã€ã ã©ã€ã³ã§ã®è¡šç€ºã«ïœ€æ¥èšãžã®ãªã³ã¯ã貌ãããŠããªãããã§ã
æ¥èšæ¬æã«URLãå ¥åããå Žåããªã³ã¯åãããããã«ä¿®æ£ãé¡ãããããŸãã
ç»åãéä»ããŸãããiPhoneå®æ©ã§æäœããéã«ãæ¥èšãèŠãããªã³ã¯ãšsafariã®ã¡ãã¥ãŒãè¿ãããªã³ã¯ãæŒäžãã¥ããæããŸãã
UIä»æ§ã®æ§ã«1è¡ã»ã©ç©ºçœããããšãããšæããŸãã
ãå
šäœã®ææ°æ¥èšããââããã®æ¥èšãã®æåãµã€ãºã倧ãããé»ãããŒã®äžã«å¯ã£ãŠããæ§ã«èŠãããããä»ã®ãã®ãšãã©ã³ããåãããŠããã ãããã§ãã
å¥éå¯å±±ããç»åãéãããããŸãã
ããŒã ç»é¢ã¬ãžã§ããå
ãæ¥èšäžèŠ§ã«è¡šç€ºãããŠããæ¥èšã®æçš¿æéã®è¡šèšãè±èªã«ãªã£ãŠããã
æ¥æ¬èªã§è¡šç€ºãããããä¿®æ£ãé¡ãããããŸãã
PCçã®ããŒãžããæ¥èšç»åãã¢ããããŒãããŠãç»åã衚瀺ãããªãã®ã§ãããªã«ãèšå®ãå¿ããŠããã®ã§ããããïŒ
ãå¿åœãããããã°æããŠãã ãã
OPM-1-4-10 管çç»é¢ã®ãã¢ã¯ãã£ããã£æŽæ°èšå®ãã«ãŠã³ã¡ã³ãããæ¥èšã«ã³ã¡ã³ããæçš¿ãããæã®ã¢ã¯ãã£ããã£èªåæŽæ°ã®äœ¿çšæç¡ãèšå®ãã§ããããã«ãã
ã«ã€ããŠã§ãããã©ã°ã€ã³èšå®âopDiaryPluginã®èšå® ã«è©²åœèšå®é
ç®ãèŠåœãããŸãã
確èªããé¡ãã§ããªãã§ãããã
APIèšèšæžãšå®è£
ã«å·®ç°ïŒäŸïŒdiary/search.jsonã®ã¬ã¹ãã³ã¹ã«"page"ãååšããªããidã¯å¿
é ã«ãªã£ãŠãããå®è£
ã¯â³ããªã©ïŒããããŸãã®ã§ã以äžã®APIèšèšæžãææ°ã®å®è£
ã«åãããŠä¿®æ£ããé¡ãããŸãã
https://docs.google.com/a/tejimaya.com/spreadsheet/ccc?key=0AvmFuhEir3EGdDE5UnIyRDlGaExmdGZ2SURGakJvWGc#gid=0
以äžã®ã¬ãžã§ãããBalsqmiqäžã«å³ç€ºãããŠããªãããã«æããŸã
ã¬ãžã§ããããã€ãã¬ã³ãææ°æ¥èšãããæ¥èšãé²èŠ§ã§ããããã«ãã
ã¬ãžã§ãããæ¥èšã³ã¡ã³ãèšå
¥å±¥æŽãããæ¥èšãé²èŠ§ã§ããããã«ãã
ã¬ãžã§ãããã¢ã¯ãã£ããã£ãããæ¥èšãé²èŠ§ã§ããããã«ãã
ã¬ãžã§ãããå
šå¡ã®ã¢ã¯ãã£ããã£ãããæ¥èšãé²èŠ§ã§ããããã«ãã
確èªããé¡ãã§ããªãã§ãããã
äžèŠ§ç³»ã®ããŒã¿ãååŸããAPIã¯ããsearchãã§çµ±äžããŠããŸãã®ã§ãdiary/list.json ã diary/search.json ã«ãªããŒã ããŠãã ããã
ãã¹ãã±ãŒã¹ã®äžã§ã'apiKey' ã®å€ã« 'dummyApiKey' ãšããã®ãæå®ããŠããŸããããã㯠API ã®æ¹ã§ã©ã®ãããªåŠçãããŠããã®ã§ããããïŒ
æ¥èšåé€ã®ãããŒãBalsamiqäžã«ç¡ãããã§ãã®ã§è¿œå ããé¡ãããŸã
ã³ã¡ã³ãéšåã®ããŒã¿ãååŸããAPIãçšæããŠãã ããã
A declarative, efficient, and flexible JavaScript library for building user interfaces.
ð Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ððð
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google â€ïž Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.