Google Wave追æ¼ã«ã¡ãªãã§Shindigã®wave featureã試ãã¦ã¿ã
ä»äºã§Apache Shindigã¨ãããããã¯ãã«é¢ãã£ã¦ããã®ã ãã©ããã®é¢ä¿ã§Shindigããã¸ã§ã¯ãã®trunkãæã svn upãã¦ãææ°çã®Shindigã«ã©ã®ãããªæ´æ°ãããã®ããã§ãã¯ãã¦ããã
ããã§ããã®åsvn upãããããtrunk/以ä¸ã«extras/src/main/javascript/features-extras/wave ãªãã¦ãããã£ã¬ã¯ããªã追å ããã¦ããã®ã§ãwaveçµäºã®ãç¥ããã®å¾ã ã£ããã¨ããããããã¯ããã...ï¼å¥´ããã¾ã 諦ãã¦ãªãã£ãã®ãï¼ãã¨æã£ã¦ä¸èº«ãè¦ãã¨ãããã©ãããShindigä¸ã§Waveã¬ã¸ã§ãããåä½ãããããã«è¿½å ãããfeatureãããããã³ãã·ã£ã ï¼
ä»æ¥ç®ãè¦ã¾ãããwave追æ¼ä¼ã«åå ãã¦ãã人ã ãTwitterã§æ£è¦ãããã®ã§ãæãåºãã¦è©¦ãã¦ã¿ããã¨ã«ãããShidigããã¸ã§ã¯ãã®æ¬å½ã®å ã£ã¡ããªã®ã§ãå½ç¶ãªããwave featureã®å®è£ ããã¦ããSNSã¯ä»ã®ã¨ããåå¨ããªãï¼ã¨æãï¼ããªã®ã§ã¡ãã£ã¨çããå æ¯ãããããªãã
ã¡ãªã¿ã«ãçµè«ã¨ãã¦ã¯å®å ¨ã«åããã¨ããã¾ã§ã¯è³ããªãã£ããï¼ç¡çããåããã¦ããããã©ãShared StateãããªãWave Gadgetã¨ãåããã¦ããããããªããï¼
Shindigã®ææ°ãmavenãã«ãããã¨ãã£ããã¾ãããããããä¸ã æ½°ãã¦ããã®ãé¢åãªã®ã§å®å®ç(shindig-project-1.1-BETA5-incubating)ããã¼ã¹ã«ãfeatures/src/main/javascript/features 以ä¸ã«ææ°ã®Shindigã®features-extrasããlocked-domainãã£ã¬ã¯ããªããã³waveãã£ã¬ã¯ããªã丸ãã¨ã³ãã¼ãã¦mvn -Dmaven.skip.test=true; mvn -Prunã§Shindigãèµ·åãããã¨ã§wave featureå ¥ãã®Shindigãèµ·åã§ããã(ã¡ãªã¿ã«features/features.txtã« features/wave/feature.xml ã追è¨ããå¿ è¦ããã
ãã§ã¾ããããããåèã«Wave Gadgetãä½ã£ã¦ãShindigä»å±ã®sample containerï¼opensocialã§ã¯ãGadgetãåä½ãããå¤å´SNSã®ãã¨ãcontainer:ã³ã³ããã¨ããï¼ã®ä¸ã§åä½ããã¦ã¿ãã®ãããã
è¦ãç®ã»ã¨ãã©waveé¢ä¿ãªãã¬ã¸ã§ããã ãã©ãGadget XMLã®å é¨ã§ã¯waveã¨ãwave.ui以ä¸ã«ãã£ã¤ãããããããWave API + αçãªãã®ã使ããããã«ãªã£ã¦ãããâÃã®ä¸ã«ãããã¤ã¢ãã°çã¯wave.ui以ä¸ã®APIã§çæãããã®ã
Firebugã®ã³ã³ã½ã¼ã«ã§Unknown RPC Service: ã¨ãåºã¦ããã®ã¯ãå é¨ã§ä½¿ããã¦ããstateãªãã¸ã§ã¯ãã®submitDeltaã¡ã½ãããgadgets.rpc.registerã§ç»é²ããã¦ããªãgadgets.rpc.callãå¼ãã§ãããããããã§ã¯ãã¾ã詳ãã説æã¯ããªãããgadgets.rpcã¨ã¯Shindigå èµã®Container <-> Gadgetéãããã¯Gadget <-> Gadgetéã§ã¯ãã¹ãã¡ã¤ã³éä¿¡ãè¡ãããã®ã©ã¤ãã©ãªã§ãããã¯ãã¹ãã¡ã¤ã³éä¿¡ã¨ããã¨ä»°ã ããããã ãããã®è¿ä»£çãªãã©ã¦ã¶ã§ã¯postMessage()ã§å®ç¾ããã¦ããã
ä¸ã®ç»åã¯ãgadgets/ifrã¨ããShindigã«Gadget XMLãã¬ã³ããªã³ã°ãããããã®åãå£ã«å¯¾ãã¦url=ã¨ããã¯ã¨ãªãã©ã¡ã¼ã¿ã§Gadget XMLã®URLãæãã¦Gadgetãã¬ã³ããªã³ã°ãããwaveãªãã¸ã§ã¯ãã®ä¸èº«ãFirebugã§è¦ãã¦ããã¨ãããããã£ã½ãã¡ã½ãããè²ã ã¶ãä¸ãã£ã¦ããã
å®éã«Google Waveä¸ã®Gadgetã®ããã«çã§åæã«ã¯ã¤ã¯ã¤ããããGadgetãå®ç¾ããããã«ã¯Shared Stateãä½ããã®æ¹æ³ã§å®ç¾ããã¦ããããXMPPã§ããã·ã¥ããããã¨ãããã¨ãå¿ è¦ã«ãªãã¨ãããã®ã ããShindigã®extrasã«å ¥ã£ã¦ããwave featureã§ã¯ã©ããstateã®å ±æã¨ãã¯ã¾ã èãããã¦ããªãã£ã½ããWave APIããæä¾ããã¦ããããstateã¯åã¦ã¼ã¶ã®ãã©ã¦ã¶ã«è¼ã£ãã¾ã¾ãã¨ããæãã«è¦ããããã®ã¸ããstateã®å ±æãã©ãå®ç¾ããã®ã ãããã
ãçµè«ã
Waveã¯æ»
ã³ã¬ï¼ä½åº¦ã§ãèããï¼Wave GadgetãShindigãå©ç¨ããSNSä¸ã§ã¦ãã¦ãåãæ¥ããã¤ãæ¥ãï¼â¦ã®ãããããªãã