Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo

Subversion collisions among GSoC'ers


Go to End


4 Posts   2401 Views

Avatar
qhoxie

Google Summer of Code Hacker, 39 Posts

12 June 2007 at 12:40pm

while the above post is still relevant, i wanted to clarify something
to my knowledge, we have not had any issues with collisions thus far
as you guessed, it is probably still a bit early for that :)

as we are in the 'svn add' phase of things for the most part, these breakages should be more easily avoided
2.0.1 file X has class foo, then a gsoc developer adds file Y and redeclares class foo
that is the gist of the type of problems occurring, along with that, ive seen include path issues in other files

hopefully this clears some things up

my original message for archival purposes:

"Greetings everyone,

As of late there have been a good number of breakages in the gsoc branches of
the subversion repository. I had some of my own ideas for resolving simple
things like class redeclarations (commenting), and Elijah seemed on the same
page. What would be ideal though, is if we could avoid issues like this all
together. As an example, again, a class redeclaration: the developer working
on the code in question could comment it his/herself before committing the code.
Or, even better, name the class something else for the time being, then, if
need be, the class name can be refactored later on. There have also been some
more serious issues that many of us have probably had to deal with, so
resolutions may be more involved in those cases.
I encourage others to send their thoughts on this, as I am surely no authority
on the issue."

Avatar
elijahlofgren

Google Summer of Code Hacker, 222 Posts

14 June 2007 at 4:10am

I've created a patch to fix the include path issues in sapphire/security/Auth:
http://www.elijahlofgren.com/silverstripe/patches/Fix-Auth-OpenID-require_once-path-errors-sapphire-gsoc-r36790.patch

I'm going to email Markus and ask him if I should commit it.

Avatar
Markus

Google Summer of Code Hacker, 152 Posts

14 June 2007 at 4:39am

Hi Elijah,

first thanks for your message and the patch. I discussed that already with Hayden, but we didn't decide yet how to resolve this issue.

That is (and will be) a common problem with 3rd party libs. There is a very simple way to fix it. Just add the following code to your mysite/_config.php (which unfortunately is not under version control - I posted about a similar problem in the "Help with tabstrip" topic.

$path_extra = realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..') . DIRECTORY_SEPARATOR . 'sapphire' . DIRECTORY_SEPARATOR . 'security';
$path = ini_get('include_path');
$path = $path_extra . PATH_SEPARATOR . $path;
ini_set('include_path', $path);

In that way all the includes will be found and the error is resolved. But that's not a really good solution, we have to find something better... maybe you have a good idea!?

The problem is that we shouldn't change the library because updates will get a pain then.

If you run Silverstripe on Windows, you maybe have to add also

define('Auth_OpenID_RAND_SOURCE', null);

To your mysite/_config.php because Windows doesn't has a random number generator like Linux.

Avatar
elijahlofgren

Google Summer of Code Hacker, 222 Posts

19 June 2007 at 7:37am

Just a note for anyone running the install from the gsoc branch, I needed to add this to the top of install.php:
/* For OpenID stuff */
$path_extra = realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'sapphire' . DIRECTORY_SEPARATOR . 'security';
$path = ini_get('include_path');
$path = $path_extra . PATH_SEPARATOR . $path;
ini_set('include_path', $path);
/* End for OpenID Stuff */

Elijah :)