Archive

Archive for the ‘XOOPS Cube’ Category

XC doesn’t have re-implementation

December 6, 2009 3 comments

Mr. onokazu told me the definition of “glue frameworks”. It can integrate other libraries and be integrated to other frameworks. For example, CakePHP is not a glue framework, because it is ALL-IN-ONE.

The new XC core will have the main sequence, so that will not be a glue framework. I don’t know whether the XC core is a glue framework. But, I think that we will not need to write code that is implemented by other libraries. Instead of implementation, we should provide interface for MOD developers.

Interfaces are very important. It evens out differences between libraries. If interfaces aren’t provided, our code depends on the specific library. We avoid such situation as much as possible.

Of course, we pay attention to licence of other libraries. If the library that we need conflicts with our licence, we write code to implement necessary feature.

We will reduce amount of code. On the other hand, I have the plan that we enhance the existing code. That is special features that the core should implement directly.

Works for core will not need a long amount of time. The core has only interfaces and small features. That is very small. Community’s hard mission is that someone develop the implementation called “BASE” on the new core.

Categories: XOOPS Cube

XC Download

July 17, 2009 3 comments

I’ve released an application called “XC Download Test”. That is a test implementation of the agent who checks updates, downloads MODs and uploads those to your server. The agent will make it fun to build your site and keep it. But, things you can do with XC Download are very few, because it implements only a couple of features for test.

This agent application tries to download all items that an item you specified depends on. You may test the behaviour with test XML. When the application is launched, you get sample list from my homepage by clicking a button of the application window. Then, do double-click “cube_default” to download the theme. The application will begin to download Package_Legacy before theme download, because it tries to solve dependency. This is one of the most important features.

By this agent, there will be no need to discuss default organizations of packages that our project releases. Our project is software development project, but not distribution project. Therefore we should not use energy to keep other MODs that we don’t develop. But, we often discuss what MODs to put the package in default.

I think that “simple is best” and “users have freedom to choose”. But, the reason why the package is requested to contain default MODs is that it’s difficult to get MODs for beginners.

We are developers. Our energy should be used for software development, not software collections. Therefore, we should solve the problem by software mechanics. Distributions are very great activity, but we should not do it. If we have to do something for distribution, it’s writing code.

See cygwin. They don’t have distribution packages , because they provides a powerful installer. It’s easy to download favorite software. So nobody needs distribution package containing default software. Users have freedoms. That’s very nice.

Categories: XOOPS Cube

XOOPS Cube will orient to mobile gadget

June 13, 2009 5 comments

I’m busy same as always. I don’t have time to touch PC and Web. So I’m using iPhone well to enjoy internet.

Now I can not write an entry of my blog, because I don’t use PC at my home.
(I have to go to bed to keep my health, when I come back to my home)

iPhone enables to write blog. I often update my blog on the train. The following screenshot is “Hatena Touch” that is iPhone App for the Japanese blog service “Hatena”.


With this App, I can modify existing entries, write drafts and post new entries.

That’s really useful. Even though I’m a XOOPS Cube developer but use “Hatena”. Because the environment that this App brings is very useful for my life style.


This shows me what I should do. Now, many great developers are there in XOOPS Cube community. They have enough passions and skills to develop XC.

Also I have passions to develop some software that enables to control XC with mobile gadget. Because I want to control my website with iPhone App. If such software doesn’t exist, busy workers can not keep their site.

Therefore I want to develop such software.

Categories: iPhone, XOOPS Cube

XOOPS Cube Legacy 2.1.7 RC released!

April 5, 2009 2 comments

Hi all,

The project released XOOPS Cube Legacy (aka Package_Legacy) 2.1.7 RC. This is a minor upgrade version from 2.1.6a, contains many fixes and many enhancements and includes all patches of 2.1.6a security fix.

Please test this RC and report issues if you encounter any troubles. You may post reports to the project forum or each community forum.

(We ask community administrators to forward those reports)

How to upgrade from 2.1.6 or 2.1.6a
Remove mainfile.php and /install directory from the package not to break your current environment. Next, upload files of the package to your server. Finally, do update modules indicating red icon in the module management of the control panel. You may close the site in the control panel to hide your upgrading.

Staff
- GIJOE
- Gusagi
- Hxrr
- Marijuana
- Mikhail
- Minahito
- Mumincacao
- Onokazu
- Roger
- Salamander
- Tohokuaiki
- Tom_G3X

Change Log
[Bug Fix - From Bug Tracker]
- Fix Bug #2491813 – SmileEditAction include multi byte comment.
- Fix Bug #2491817 – SmileEditAction cannnot delete old file.
- Fix Bug #2591041 – Typo Legacy_PublicControllerStrategy.class.php.
- Fix Bug #2642879 – javascript error in admin area.
- Fix Bug #2642959 – SQL Error in Legacy_Updater.
- Fix Bug #2658360 – doubtful escaping in quoteString()
- Fix Bug #2666693 – Error in /XUpgrade/admin/class/UpgradeProcessor.class.php
- Fix Bug #2686374 – Bugs in class.phpmailer.php v2.0.2 (Updated PHPmailer to v2.0.3)
- Fix Bug #2690736 – typo: X_ITEM_TILE (X_ITEM_TITLE?) default_notify.tpl
- Fix Bug #2690739 – typo in /install/include/functions.php, line 38
- Fix Bug #2696701 – user_lostpass.html email maxlength too short
- Fix Bug #2699408 – Specify 2nd argument of mysql_real_escape_string().
- Fix Bug #2724748 – XoopsMemberHandler::getUserByEmail() cannot get user object.

[Bug Fix - From "XCube" Bug Tracker]
- Fix Bug #2656854 – XC_CLASS_EXISTS loops infinity.
- Fix Bug #2635869 – Abstracts difference of class_exists between two versions.

[Patches - From Feature Request Tracker]
- Request #2642992 – exclude extra trim()
- Request #2662922 – DB Layer can be overridden.
- Patch #2697022 – Package_Legacy¥html¥ – new portuguese translations
- Patch #2697034 – extra_languages¥ – new pt_utf8 translations
- patch #2697044 – missing: XUpgrade and system pt language files
- Patch #2701060 – Path disclosure in xoopsmailerlocal.php (pt_utf8)
- Patch #2701140 – legacyRender: update for Portuguese Files

[Other Changes/Enhancements]
- Request #2682887 – MySQL Database Connection should specify the client_flags
- Legacy Controller class provides LEGACY_MODULE_VERSION constant as phpversion.

Categories: XOOPS Cube

Abstraction by Include/Link Switch

March 1, 2009 Leave a comment


The virtual function is often used as one of solutions to accept the same source code to different environment. This way makes surface of source code beautiful, but it is not good performance because virtual functions are heavy process. Programers who work on real time application think that’s beautiful way but feel that isn’t ideal performance.

Because compilers generate indirect-jump with a function pointer table from virtual function, CPU’s branch prediction feature is not useful for a such situation. It surely triggers pipeline-stole. If a perfect JIT will be completed in the future, the perfect JIT will be useful for this situation. But, there is not a such JIT now.

Virtual functions are very good approach. But we hope to fix as many as possible of the function address. If there are some functions that we don’t need to handle as abstract functions at runtime, address of those functions should be fixed to let CPU use direct-jump. Let’s say you have to develop the middleware that can be used for both of PS3 and Xbox360. Firstly, you may plan to use virtual functions to abstract different between two platforms. But, imagine use of game software. Users never able to change platform while they are playing the game.

In other words, developers decide which libraries to link when compiling. The middleware you’re developing makes it possible that developer compile each application for multi-platform from the same source code, so you may supply the plural include files and libraries for each platform. Developers will write each makefile. Because this approach doesn’t use virtual functions, most function address will be fixed. And, some of them will be compiled as inline-functions.

A such approach is one of standard approaches of multi-platform programming. We take the approach for the following purpose.

- Writes inline-assembly code on multi-platform that has different CPU.
- Changes JIT of game script for multi-platform that has different CPU.
- Solves the different compilers and different compiler versions.
- Changes link libraries to their debug edition or others.

Maybe the approach is also useful for script programming. We often focus on the “runtime-compile” feature of the script program environment. But, the environment has also the “runtime-link” feature.

Let’s say you have to write functions that remove platform difference between PHP4 and PHP5. The platform condition is not changed at runtime. Therefore, when program tries to include a file declaring the functions, you may prepare two files for each platform. That’s like the approach of C/C++. C/C++ can change include-path and link-library by platform conditions. And, that’s better performance than the approach that each function checks platform and changes execution.

That’s one of standard approaches if our language is C/C++. However, the script programming world has the different common sense from C/C++. Therefore developers who work on PHP may not agree the approach that change include-file by platform condition.

Categories: Game Programing, XOOPS Cube Tags:

The report of OSC 2009 Tokyo/Spring

February 24, 2009 4 comments

Open Source Conference 2009 Tokyo/Spring was closed. That was very exciting event for Japanese OSS developers. I hosted a certain coursework, participated in the CMS Panel Discussion as member of the panel and spoke about XCL 2.2 in the Hodajuku Distribution Coursework. This blog doesn’t have an entry about the CMS Panel Discussion and HD Coursework, yet. Now this entry will report the panel discussion.

CMS community moderators and CMS project developers in many kinds of CMS participated in the CMS Panel Discussion. There were few developers in the discussion, because basically number of users was bigger than number of developers in Japan. You might know those CMS in the discussion — Moodle, Plone, TYPO3, MODx, Geeklog, concrete5, WordPress and XOOPS Cube.

I had to masqueraded in the discussion :D . Because the discussion was streaming broadcasted in the net. Unlike other members of the panel, I don’t involve the web business, so I hoped to protect my privacy.

I explained difference between XOOPS2 and XOOPS Cube. Many audiences was thinking that XOOPS Cube had old architecture like XOOPS2. Only my purpose was to dispel a such misconception. And, that was successful. After that I learned that this discussion is very useful for developers. We got detail information of other CMS through the panel discussion. If I was a audience, not member of the discussion, I couldn’t get such information.

The information we should pay attention to was TYPO Script that may be DSL of TYPO3. I thought that XC might need DSL to describe how to render template buffer by designers, so the architecture of TYPO was very interesting spec. And, the Plone Japan community moderator told us gettext availability for translation.

The Open Source Conference 2009 Tokyo/Spring was very important event for me.

Categories: XOOPS Cube

The preparation for the next OSC

February 11, 2009 4 comments

Here is Yokohama. This is one of the biggest city in Japan. I came to buy some goods that I will need in Open Source Conference 2009 (OSC 2009). I’ve written about OSC in this blog once or twice. That was known as a big open source event to Japanese open source users/developers.

In the OSC, I will take a part in three seminars. The most important seminar is “How to learn English language for OSS developers“. This shopping is for the seminar. This learning seminar was planned by me, so I’m putting muscle into preparation of the seminar. The role to buy something for the seminar is me. But, I will NOT a speaker of the seminar. (As you know, I am not good at English. I should learn English language, not teach it.)

I invited the speaker to the seminar. His nick name is LYE. He is a translator and translated many video games!

In this seminar, I and the speakers will introduce various method to learn English. Those methods will include the method that we had discussed learning English in xoops.org forum. The method using movie that Mr. plusangel told me in the forum is my favorite method.

I’ve just bought these goods. The tripod stand will be used to take a picture for key note of the seminar. “XOOPS Cube Legacy Developers Bible” (the book at lower left) and “Talk Man” (yellow color PSP software at center) will be a gift for OSC visitors. “FINAL FANTASY X International” is English version of FF-X. I will introduce this video game as learning kit.

BTW, This blog had not updated for a long time, but I keep interests in English and restatred this blog to write my thinking, my daily, my works and XOOPS Cube.

If you’re OK, bookmark my new twitter account that you can see in the right side of this blog. I try to write messages in English there.

Categories: Open Source, XOOPS Cube Tags:

Step for unleashed

January 30, 2009 Leave a comment

‘unleashed’ is the code name of XOOPS Cube Core v1.0. The following is my ToDo.

What I have to fix

  • Render Sequence.
  • Misc around rendering system.
  • Fetching compositing factors from rendering target.
  • Fix bugs of the virtual service feature.
  • Identity.

What I have to design

  • Single-cast Event System.
  • Composition like mechanism.
  • Manifesto definition for automatic communication & automatic building.
  • Resource Manager to abstract between file system and database.
Categories: XOOPS Cube

I do freeware activity, because I’m too busy

November 22, 2008 1 comment

In last CEDEC, I heard Keiji Inafune’s speech. He is one of the most famous game producers in Japan. He said “If you aren’t winner of the market, you have to fight not to be loser. But even if you’re a winner of the market, you should keep attacking. “

That’s very interesting thinking. And, his speech changed my thought. I decided to add many many missions to the XOOPS Cube project, whether we have free time enough.

Until I heard his speech, I continued reducing a number of projects’ missions, because nobody is unable to help the project. And I was waiting the time that Japanese volunteers get their free time again. But that was miss judging.

Probably Japanese people have to be very busy. However, the project should increase missions, not reduce missions. If our preconditions is that busy Japanese developers run this project, the project should be stopped and closed. The project should not recognize such situation and has to deny it.

“Because Japanese people are very busy” “Therefore we add many missions to the project”.

You may feel antinomy.

Categories: XOOPS Cube

Package_Legacy 2.1.6 Release!

November 21, 2008 2 comments

Thank you for your testing. Here’s the latest maintenance release for the v2.1 stable, since it has finished RC schedule. It has a number of bugfixes which we recommend you update.

The project has just completed main tasks of v2.1 and will begin running v2.2 in full swing!

== Staff ==
- 10key
- argon
- GIJOE
- gusagi
- hypweb (nao-pon)
- kilica
- Marijuana
- masarap
- Mikhail
- minahito
- mumincacao
- nor
- okuhiki
- ohwada
- onokazu
- orrisroot
- pcboy
- sacchan
- slayer_cg
- suin
- tohokuaiki
- tomoro
- Tom_G3X

Changes Log
[Bug Fix - From Bug Tracker]
- Fix Bug #1833191 – lisense message of installer
- Fix Bug #1865695 – XoopsToken Not in use. at legacy_comment_navi.html
- Fix Bug #1978064 – users_group_link doesn’t have unique key
- Fix Bug #2014727 – Removed template variable code that is assigned many times.
- Fix Bug #2015589 – genId typo in some handlers in kernel.
- Fix Bug #2018226 – It’s impossible to choose portuguese in the installer
- Fix Bug #2018271 – ThemeListAction.class.php resulting Warning and Fatal Error.
- Fix Bug #2018281 – xoopsmailer.php – path disclosure vulnerability.
- Fix Bug #2018284 – path disclosure vulnerability in greek\charset_mysql.php.
- Fix Bug #2018956 – xoops_redirect parameter: path disclosure vulnerability.
- Fix Bug #2019640 – invalid / unnecessary files in portuguese translation.
- Fix Bug #2019660 – “MSN” no longer exists. Replace with “Windows Live ID”
- Fix Bug #2028663 – Update Callback is not called at pending comments approval
- Fix Bug #2062535 – css.php doesn’t work perfectly.
- Fix Bug #2073613 – Problem of parse_url().
- Fix Bug #2084802 – Users’ posts should not be increased at the control panel
- Fix Bug #2101729 – Typo comment in Legacy_ModulePhasedUpgrader
- Fix Bug #2115390 – GPL V2 License Link is changed
- Fix Bug #2115634 – $db->query() cannot handle only limit query.
- Fix Bug #2121388 – Missing translation in japanese language file.
- Fix Bug #2123870 – register.php :: missing user_mail_ok
- Fix Bug #2129194 – A typo of SID’s connector in redirect_header
- Fix Bug #2178519 – “showall” of the search feature doesn’t show correct URL
- Fix Bug #2173864 – ModuleInstaller set invalid group permission.
- Fix Bug #2200366 – Cannot set block_read permission.
- Fix Bug #2205261 – A typo in user activation
- Fix Bug #2201567 – Some mistakes in japanese and ja_utf8
- Fix Bug #2209139 – JVN#20502807
- Fix Bug #2216013 – Doesn’t assign reference in groupperm.php
- Fix Bug #2235005 – User_RegisterEditForm includes needless fields
- Fix Bug #2282727 – Controller cannot parse request path on IIS
- Fix Bug #2283070 – XoopsObjectGenericHandler cannot insert/update null value.

[Bug Fix - From "XCube" Bug Tracker]
- Fix Bug #2225372 – Bug in delegate signature checking
- Fix Bug #2232981 – Slight typo on error

[Other Changes/Enhancements]
- Patch #2062644 – Re-draw /html/images
- Patch #2120194 – Smarty 2.6.19 & phpmailer 2.0.2
- Patch #2223209 – simplified Chinese language file
- Some URLs description was changed for new lisence URLs.
- The Kick Start Guide was translated for Japanese.

Categories: XOOPS Cube
Follow

Get every new post delivered to your Inbox.

Join 54 other followers