IRC Archive for channel #xwiki

Last modified by Vincent Massol on 2012/10/18 19:14

00:53 <Menso> has quit
01:28 <sburjan`> has quit
02:10 <abusenius> has quit
02:52 <sburjan`> has joined #xwiki
05:31 <sdumitriu> has quit
05:59 <venkatna> has joined #xwiki
06:00 <venkatna> has quit
07:34 <vmassol> has joined #xwiki
07:49 <vmassol> has quit
08:10 <npm_> has joined #xwiki
08:12 <npm> has quit
08:33 <mflorea> has joined #xwiki
08:41 <mflorea> has quit
08:42 <npm__> has joined #xwiki
08:42 <npm_> has quit
08:55 <npm> has joined #xwiki
08:59 <npm__> has quit
09:00 <jstoldt> has joined #xwiki
09:00 <jstoldt> good morning
09:00 <cjdelisle> good morning.
09:39 <vmassol> has joined #xwiki
09:39 <jvelo> has joined #xwiki
09:52 <arkub> has joined #xwiki
09:56 <ggueneau> has joined #xwiki
09:56 <ggueneau> Hi XWikiers
09:56 <vmassol> well done ggueneau!
09:56 <+sburjan`> Hello ggueneau
09:57 <jstoldt> hi...
10:04 <ggueneau> has left #xwiki
10:04 <ggueneau> has joined #xwiki
10:05 <ggueneau> has left #xwiki
10:05 <ggueneau> has joined #xwiki
10:07 <ggueneau> i've been said you had interesting discussions on the XWiki competitors
10:07 <+sburjan`> who told you ?:)
10:07 <ggueneau> Mr Vincent
10:07 <+sburjan`> I send a reploy on the user list
10:07 <+sburjan`> *sent
10:08 <+sburjan`> on that thread.. you should vote
10:08 <vmassol> it's not a vote
10:08 <+sburjan`> i know. but I pointed out my opinion there
10:08 <vmassol> sure but ti's not a vote
10:09 <vmassol> vote has a very specific meaning
10:09 <vmassol> see http://dev.xwiki.org/xwiki/bin/view/Community/Committership
10:09 <ggueneau> i will prepare for this afternoon what precise process i have in mind regarding comparing XWiki to competitors
10:10 <+sburjan`> vmassol: I understand, but what another way to express my opinion ?
10:10 <vmassol> by expressing your opinion?
10:10 <vmassol> by dsicussing
10:10 <vmassol> by replying to mail
10:10 <vmassol> by sending ideas
10:10 <jvdrean> has joined #xwiki
10:10 <vmassol> by….
10:11 <vmassol> you don't need to call vote anything that has to do with thinking
10:11 <vmassol> !
10:11 <vmassol> :)
10:11 <+sburjan`> okay :)
10:11 <jstoldt> i prepared a Cost-utility analysis some months back
10:11 <ggueneau> the work here is a first step, and should conduct to a clearer idea of our strength and weaknesses agains competition
10:11 <jstoldt> but it's in German and is very specific for this company
10:11 <jstoldt> still, if you want to have i can send it to you
10:12 <vmassol> jstoldt: that could be interesting, I'm sure gregory would love to see it
10:12 <vmassol> I'dbe interested too
10:12 <ggueneau> it will give us also a better idea on the challenges we face against competition
10:12 <jstoldt> hold on, i'll upload it
10:13 <sabageru> has joined #xwiki
10:14 <jstoldt> sent you the link
10:14 <jstoldt> keep in mind, this is for the specific purpose in our department
10:14 <vmassol> ok
10:14 <vmassol> thanks
10:14 <Enygma`> has joined #xwiki
10:14 <ggueneau> thank you jstoldt
10:15 <jstoldt> the aim of my work here is to make an easy to use and to extend knowledge base for our employees
10:15 <jstoldt> with a big emphasize on being able to reuse available office documents in the system
10:15 <jstoldt> if you need help understanding what i wrote there just message me
10:16 <jstoldt> also, Team Spaces is an internal solution in our companies intranet which is based on SharePoint Server 2010
10:16 <evalica> has joined #xwiki
10:16 <florinciu> has joined #xwiki
10:16 <ggueneau> well, the thing is i do not read german :)
10:17 <jstoldt> yeah, well, try the google translations and if it fucks up too bad ask me for translations
10:17 <ggueneau> lol, ok :)
10:19 <+sburjan`> :D
10:25 <lucaa> has joined #xwiki
10:37 <+sburjan`> jstoldt: I will translate it into english, but I will have some questions :)
10:37 <jstoldt> sure, go ahead
10:37 <jstoldt> do you need the link or has it been forwarded to you?
10:39 <jstoldt> in any case, if any of you is going to publish this please be sure to remove the content in brackets after "Branding" on the third sheet... i have no clue if my company would approve or not so i'd rather not risk anything
10:40 <+sburjan`> it will not be published in that form (if it ever will be published)
10:40 <jstoldt> cool :)
10:41 <+sburjan`> so .. I don't undersdant ... first Sheet .. Kostenlos column. I don't understand what vorhanden value mean .. google says it's present .. but don't see the connection
10:41 <jstoldt> well, it implies it's free and already available
10:42 <jstoldt> so basically it's a "yes and available here"
10:42 <jstoldt> like i said, specific purpose...
10:42 <+sburjan`> yes, but MS products aren't free
10:43 <jstoldt> well, usually they are not but for my department there would be no additional costs
10:43 <+sburjan`> ok, I understand
10:43 <jstoldt> you could just as well exchange the MS Office with LibreOffice and it would apply again
10:43 <jstoldt> ;)
10:44 <jstoldt> they are approx 80% the same and it would not really change a lot in the analysis, i think
10:48 <+sburjan`> not sure how to translate Zielgruppe in this context
10:48 <jstoldt> target group
10:48 <jstoldt> like what is the intended user base
10:50 <+sburjan`> einfach veränderbare Internetseiten .. this is hard to put in english :)
10:51 <jstoldt> Web page that can be modified easily
10:51 <jstoldt> or rather Web pages
10:52 <jstoldt> well, don't put too much effort into that sheet, the other sheets are the interesting stuff ;)
10:52 <jstoldt> the first sheet was just to have an overview if somebody were to actually ask about what i was reviewing
10:53 <+sburjan`> well this is what I am concentrating on ATM
10:53 <jstoldt> ok
10:56 <cjdelisle> We need a better logging utility.
10:57 <cjdelisle> I can't bare to make everything in storage extend AbstractLogEnabled.
10:58 <cjdelisle> By extending SecurityManager, a logger can get the Class which called it so we can easily have a logger which is pulled in by a @Requirement.
10:58 <cjdelisle> *the function can get the class who called it.
11:11 <+sburjan`> jstoldt: second Sheet : k.o.
11:11 <jstoldt> like a knock-out criterea which would render a particular alternative useless because it wouldn't meet the backend requirements we can provide
11:12 <jstoldt> backend specifications, actually
11:12 <+sburjan`> yes.. so something like critical
11:12 <jstoldt> yeah, sort of
11:22 <+sburjan`> jstoldt: keins oder nur sehr spartanisches ... the english translation to this is very funny :))
11:23 <jstoldt> none or rather spartan... well, spartanisch in german means like minimum comfort and almost only functionality
11:23 <jstoldt> it's like an idiom or something
11:24 <+sburjan`> frugal :)
11:24 <jstoldt> ?
11:24 <+sburjan`> the english word (guess so)
11:25 <+sburjan`> something like economical ... less effort
11:25 <cjdelisle> frugal == cheap, unwilling to spend money.
11:25 <jstoldt> yeah, it does not match the idiom quite well... i think you can even say spartan in english
11:26 <cjdelisle> spartan == lacking frills, comforts, bells and whistles.
11:26 <jstoldt> exactly
11:26 <cjdelisle> Yes, it's used in (American) english.
11:27 <jstoldt> well, the whole idea has a bit of a history, so it's only natural we know it in the western world ;)
11:27 <+sburjan`> this job is so great, learning German too :))
11:28 <jstoldt> :-D
11:28 <jstoldt> could give you lots of stuff to translate if you really are so fond of learning german ;)
11:28 <+sburjan`> cjdelisle: didn't knw there were a spartan word in english
11:28 <cjdelisle> frugality implies a purpose (to save money). Spartan doesn't imply a specific purpose although looking at Sparta it's easy to assume the reason is for self discipline.
11:29 <cjdelisle> It's an uncommon word but it is used and known.
11:30 <jstoldt> yeah, well, i think we kinda use it a little more often in german. we don't have words like frilly to characterize things ;)
11:30 <jstoldt> although i quite like frilly as a word. awesome to insult people ;)
11:31 <+sburjan`> jstoldtL Software ist zu warten, evtl
11:31 <+sburjan`> software is to wait ?
11:31 <jstoldt> nope
11:32 <jstoldt> warten in the sence of maintenance
11:32 <jstoldt> it is the verb derived from the noun Wartung
11:32 <cjdelisle> frilly?
11:32 <cjdelisle> as in having frills?
11:32 <jstoldt> exactly ;)
11:32 <+sburjan`> :))
11:32 <cjdelisle> haha your word not mine ;)
11:33 <jstoldt> lol, yeah, some brit chick once used it in a board and i thought it was hilarious
11:33 <+sburjan`> so something liek SOftware easy to maintain and simply migration procedure ?
11:34 <+sburjan`> Software ist zu warten, evtl. Migration machbar bis einfach
11:34 <jstoldt> Software needs maintenance, possible migration is easy to reasonably difficult
11:35 <+sburjan`> jstoldt: sheet 4 .. what is that MA ?
11:36 <ggueneau1> has joined #xwiki
11:36 <jstoldt> MA stands for Mitarbeiter... so it's co-worker/employee/colleague
11:36 <jstoldt> also, the bad one in the last line would be "Server- and Software need maintenance, possible migration is difficult"
11:37 <ggueneau> has quit
11:37 <+sburjan`> and p.a. = per annum, right ?
11:38 <jstoldt> yeah, but i figure the euro values don't actually match in our case
11:38 <jstoldt> anyway, if you pick a public hoster the values should be reasonable
11:38 <jstoldt> prolly make it 1000 and 200 euro to be on the safe side
11:41 <+sburjan`> thanks
11:41 <+sburjan`> I've translated what I could
11:41 <+sburjan`> send the doc back to vmassol and ggueneau1
11:41 <jstoldt> cool :)
11:46 <+sburjan`> you are using XWiki inside your company ?
11:47 <+sburjan`> jvdrean: the formulas don't work :(
11:48 <jvelo> has quit
11:48 <+sburjan`> jstoldt :)
11:57 <Menso> has joined #xwiki
12:04 <sdumitriu> has joined #xwiki
12:04 <jvelo> has joined #xwiki
12:05 <jstoldt> sburjan`: yep
12:06 <jstoldt> initially it was meant only for this department/unit within the organization but by now more departments got access on parts of the wiki
12:09 <cjdelisle> heh. jstoldt's little project for one department and now everyone else want's in.... WIN.
12:09 <jvelo> has quit
12:10 <jstoldt> well, it's basically because i got involved in another project
12:10 <jstoldt> some PDM software project
12:10 <jstoldt> and i did all the documentation in the wiki
12:10 <cjdelisle> PDM?
12:11 <+sburjan`> jstoldt: found the error why formulas don't work. First Sheet, O26 doesnt have a value
12:11 <jstoldt> Product Data Management
12:11 <+sburjan`> and other sheets need that
12:11 <jstoldt> so now anyone who wants to use my documentation basically has to log on to the wiki at some point
12:11 <+sburjan`> German Localization is 25th .. and other sheets need the next value too
12:12 <jstoldt> sburjan`: formulas work fine for me here
12:12 <cjdelisle> Ahh. I went to school for machining so I know something about CAD and CAM.
12:12 <+sburjan`> jstoldt: could you send me the document please ?
12:12 <jstoldt> yeah, i am a mechanical engineering student...
12:13 <cjdelisle> Nice. I never took it near that far. I just know a few things.
12:13 <jstoldt> ah, i got another 1.5 years to go to my final degree
12:14 <jstoldt> basically master like... but we call it diploma or Diplom in German
12:14 <cjdelisle> Congrats and best of luck.
12:14 <jstoldt> it's really interesting stuff and knowing about all this computer business is a huge asset
12:14 <cjdelisle> What direction are you going in?
12:14 <jstoldt> thakns
12:14 <jstoldt> well, it's plant construction, plant management and ergonomics
12:14 <jvdrean> has quit
12:14 <+sburjan`> jstoldt: thanks
12:15 <jstoldt> it's a rather broad spectrum within the whole field but i like it a lot and it's not all about designing machines and whatnot
12:15 <jstoldt> sburjan`: de nada
12:15 <cjdelisle> I see. I never looked much into that end. I was more interested in toolmaking.
12:16 <jstoldt> yeah, our university is a lot about that
12:16 <jstoldt> but i always wanted to be more of a management guy
12:16 <cjdelisle> Metal is rather funny at when you begin to really care.
12:16 <jstoldt> so the other direction seemed to be the better pick for me
12:16 <jstoldt> oh metal is just fine compared to some other stuff
12:16 <jstoldt> at least solid metal
12:17 <jstoldt> like, have you ever heard about "foam metals"? dunno if this is the proper translation, though
12:17 <cjdelisle> <-- very limited experience.
12:17 <cjdelisle> Yes, heard about them.
12:17 <jstoldt> the basic idea is to have sort of a metal sponge
12:17 <cjdelisle> Aluminum sponge.
12:17 <jstoldt> which is a lot lighter but almost as hard as regular metal
12:17 <cjdelisle> And oil soaks through them...
12:17 <jstoldt> that shit is wicked engineering and science
12:18 <jstoldt> not necessarily
12:19 <cjdelisle> I remember discussion about bearings which oil could seep through.
12:20 <cjdelisle> Probably not a very good idea for the load on bearings but it was just discussion.
12:20 <jstoldt> oh, it really depends, to be honest. it depends on what kind of bearing you need. what the sorrounding is like, how much the load is and so forth
12:21 <cjdelisle> WDYT about small home CMC mills and free gcodes?
12:21 <jstoldt> i had to learn all that stuff... not too much fun if you don't care too much. although it was all rather interesting at the end
12:21 <jstoldt> what's that?
12:21 <cjdelisle> *CNC mills.
12:22 <cjdelisle> Just the idea of everyone having a mill and codes being passed around like free software.
12:22 <jstoldt> i don't know about that concept... in fact, i am still trying to figure out a good translation for mill that makes sense to me ;)
12:23 <cjdelisle> milling machine.
12:23 <jstoldt> yeah, i think i know what you mean now... at least the mill part... but what about codes`
12:23 <cjdelisle> (Bridgeport)
12:23 <jstoldt> ?
12:23 <cjdelisle> G01 x123 y456
12:23 <cjdelisle> The output from mastercam
12:24 <cjdelisle> What makes the mill seek to each location.
12:24 <jstoldt> you mean all the coordinate system business in CNC programming?
12:24 <jstoldt> well, i think it's really interesting and i might be taking some classes in that next semester
12:24 <cjdelisle> That's the on.
12:25 <jstoldt> but i am not a hundred percent sure about it. i think the programming could be very neat
12:25 <cjdelisle> http://en.wikipedia.org/wiki/G-code
12:25 <jstoldt> but the classes i'd be taking are rather about the electronics concerned
12:25 <cjdelisle> It's _almost_ assembly.
12:26 <jstoldt> yep. well, never had too much of a look into that... only did some rather basic machine programming in one of my internships
12:26 <cjdelisle> Basic idea is don't send the part, send the codes.
12:26 <jstoldt> but that was just random commands with offsets, spaces between punches and patterns... so rather for the employee out in the factory
12:27 <jstoldt> well, there are a lot of different implementations of machine programming these days
12:27 <jstoldt> especially since you can already do a lot with end user software and only need to transfer it to your machine at the end of the day
12:28 <cjdelisle> ^mastercam
12:28 <jstoldt> so i think stuff like g-code will become more or less obsolete or will be enhanced to do a lot more
12:28 <jstoldt> mastercam meaning a camera that retrieves points to go to?
12:29 <cjdelisle> http://www.mastercam.com/ Hugely popular program for computer aided manufacture.
12:29 <jstoldt> ah, it's some sort of CAM program...
12:29 <jstoldt> well, like i said, i never went much into that direction. had a class where they spoke about all sorts of CAx software. but they never went much into the specifics
12:30 <cjdelisle> Draw the part in autocad, copy into mastercam, plot the toolpath, set speeds and feeds, set offset for tool diameter ---> gcodes come out.
12:30 <jstoldt> anyway, since DassaultSystemes and PTC are now the markets leaders in CAD and they also produce lots of other CAx software, i think many of the smaller/older products will disappear
12:31 <cjdelisle> ahh solid edge. That's a name I know.
12:31 <jstoldt> solid edge? sure you don't mean SolidWorks?
12:32 <cjdelisle> Yes. Maybe it's an older name.
12:32 <jstoldt> how long ago have you been into that kind of studies?
12:32 <cjdelisle> Doubt autodesk * is going anywhere. Different products for different jobs.
12:32 <jstoldt> just to get a frame?
12:33 <cjdelisle> Graduated highschool class of '06. This was highschool that I was in this class.
12:33 <jstoldt> well, autodesk is still good for small and medium sized companies... they have cheaper products and reasonable usability
12:33 <jstoldt> oh, well, i graduated from school in 07 but i never cared about anything like that until i entered university in 07
12:34 <cjdelisle> I did a couple engineering classes in college but college costs $$ and school loans are really dangerous IMO.
12:35 <jstoldt> good thing about Germany - we don't have to pay in many of the states for university
12:35 <jstoldt> and the money i need for my flat, food and thelike was already saved up by my parents
12:36 <Menso> Is it possible to query all docs within a certain class for a specific value even if you don't know the field name?
12:36 <jstoldt> saved up sounds wrong... anyway ;)
12:36 <cjdelisle> documents "within a class"
12:36 <cjdelisle> ?
12:36 <cjdelisle> Do you know the name Starrett?
12:37 <jstoldt> what's that?
12:37 <jstoldt> the company?
12:37 <Menso> I mean documents based on class
12:37 <cjdelisle> Ahh then that's a no. Measuring tool manufacturer.
12:37 <Menso> containing objects
12:38 <cjdelisle> Finding all documents which contain objects of a given class.
12:38 <jstoldt> no, our measuring professor was more into other companies
12:38 <jstoldt> like Mahr
12:38 <Menso> cj: no, find all documents of a given class where any property has the value foo
12:38 <Menso> and then retrieve the property name if the value is set to foo
12:38 <cjdelisle> ok by that you mean: find all documents which contain objects of a given class...
12:39 <Menso> yes
12:39 <cjdelisle> How are you querying? HQL or XWQL?
12:39 <Menso> I'm not querying at all atm, just wondering if it is at all possible
12:40 <cjdelisle> yes
12:42 <Menso> basically the thing is they want something like the page here https://wiki.noiv.nl/xwiki/bin/view/GemAppTest/Haarlem but then sometimes, some of the data in the table should be able to have multiple values (so CMS can have three options, etc)
12:42 <cjdelisle> select doc.fullName, obj.className, obj.number, prop.name from XWikiDocument as doc, BaseObject as obj, StringProperty as prop where prop.value = 'foo' and prop.id = obj.id and obj.name = doc.FullName and obj.className = 'My.CustomClass'
12:43 <Menso> excellent, thanks
12:43 <cjdelisle> Off the top of my head, if it works with no tinkering then I am having a good day.
12:43 <Menso> hehe
12:43 <cjdelisle> s/good/AWESOME/
12:44 <Menso> customer decided to respec what they wanted when the work was done, ugh
12:44 <vmassol> I wonder why we had a sudden increase in remediation cost around the 18th of dec 2010: http://nemo.sonarsource.org/plugins/resource/178313?page=com.sonarsource.sqale.ui.dashboard.SqaleDashboard
12:45 <jstoldt> Menso: that's how things work! you wouldn't believe how much stuff we respecified in our PDM project since the initial meeting
12:46 <jstoldt> but it's not all our fault... i think the consultant should have been more insistant on discussing the specs
12:46 <Menso> jstoldt: true, but their current wish is essentially impossible ('we want to assign the same object different values on the same page, so x should be Y and Z at the same time!)
12:47 <Menso> So I'm going to try to make it all variable and see if I can string the different objects and their values together and then still query everything
12:47 <jstoldt> well, to be able to do that you need something to set a flag that tells you wether it's y or z, won't you?
12:49 <Menso> Look at https://wiki.noiv.nl/xwiki/bin/view/GemAppTest/Haarlem
12:49 <Menso> What they want is to sometimes be able to add an extra 'cms' row to the table or an extra 'VOiP' or 'CRM'
12:50 <jstoldt> i see
12:50 <Menso> if I make the functions pickable from a list too I can then use a query to see what field contains what values and match the field name "row1_package" with "row1_status" or "row1_supplier"
12:51 <jstoldt> yep
12:59 <Menso> does velocity have something to check a string for contents?
13:00 <jstoldt> yeah, you can use the java string functions
13:01 <Menso> ah cool, so when I know row_02_status is bar I can detect the row_02 in it and find the corresponding row_02 fields because I know what they're called
13:02 <cjdelisle> If you're doing a db query you can do the same with "and prop.value like 'beginWithThis%'"
13:02 <jstoldt> i don't know what you are trying to say but i know the string stuff works ;)
13:02 <cjdelisle> % is a wildcard in db queries.
13:04 <jvdrean> has joined #xwiki
13:06 <Menso> jstoldt: well if I make the table on https://wiki.noiv.nl/xwiki/bin/view/GemAppTest/Haarlem completely variable I still need to know certain properties for each row, so if I query for the value 'CMS' which I find in row_03_apptype I need to be able to extract the fact that that is in row_03 so I can show the row_03_status and row_03_supplier along with it
13:06 <jstoldt> ah, okay
13:07 <Menso> because those are linked to whatever is filled in in row_03_apptype
13:08 <Menso> not sure how to otherwise do this in xwiki, in a db I would just add another row with a unique ID called 'CMS' too and display all the fields that contain CMS :)
13:47 <sdumitriu1> has joined #xwiki
13:48 <sdumitriu> has quit
13:57 <ggueneau1> has quit
14:04 <jstoldt> i think i found a bug
14:04 <jstoldt> okay, so the setup is this: tomcat 7, windows 7 x64, XWiki 2.7 final
14:04 <jstoldt> LibreOffice 3.3 RC1
14:05 <jstoldt> using the Office Viewer macro fails on a page that goes by the name "Verschmelzungs- Vererbungs-KE" but works on "Verschmelzungs Vererbungs KE"
14:07 <jstoldt> i think the problem is that in the image links the dashes are replaced by %2D
14:10 <jstoldt> also, i noticed that that there is no way to restore deleted attachments from the bin
14:14 <sdumitriu1> has quit
14:14 <cjdelisle> "no way to restore deleted attachments"?
14:14 <cjdelisle> Oh you mean when the filename has a - in it?
14:15 <jstoldt> nope, filename only has dots as seperators
14:15 <cjdelisle> What happens when you try?
14:16 <jstoldt> but in the document index on the deleted attachments tabs there is only the red X on the right of each line
14:16 <jstoldt> not the green arrows
14:16 <cjdelisle> So this is a UI level problem not storage?
14:16 <jstoldt> i tried this: went to Sandbox.TestPage1, uploaded Axels.Punkt.Einstellungen.png, deleted the file, went to document index, clicked on deleted attachments
14:16 <jstoldt> yep, i figure it's UI
14:17 <jstoldt> unless there is a lack of underlying functionality which prevents anyone from implementing it in the UI
14:17 <cjdelisle> The function should be there.
14:18 <cjdelisle> heh if it's unused then my job is a lot easier refactoring attachment storage.
14:18 <jstoldt> hehehe, i think you are mistaking a bug for an opportunity ;)
14:20 <cjdelisle> I made a few changes to attachment storage and it's old code which I don't like working on. Right now I'm doing a rewrite of attachment storage which should make the code much nicer.
14:20 <jstoldt> is it related to be able to store the files in the filesystem rather than the database?
14:21 <jstoldt> because i think that would be a real improvement
14:21 <cjdelisle> That's the one.
14:21 <jstoldt> i mean a really big one
14:22 <cjdelisle> But there are a million "what ifs" because a filesystem is essentially a thread unsafe transactionless database.
14:22 <jstoldt> yeah, that's true
14:22 <mbryant> has joined #xwiki
14:22 <jstoldt> anyway, i like your approach to actually make it a file system
14:22 <cjdelisle> It was needed.
14:23 <jstoldt> i know PTC Windchill only stores the files with a number as the name and then keeps track of the file in the DB
14:23 <cjdelisle> http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/xwiki-store/xwiki-store-api/src/main/java/org/xwiki/store/FileSaveTransactionRunnable.java
14:23 <cjdelisle> I'm pretty proud of the code in that file.
14:23 <cjdelisle> specifically onRollback()
14:23 <+sburjan`> ce femeie =))
14:24 <jstoldt> :)
14:24 <+sburjan`> wrong window :))
14:24 <jstoldt> this file also shows me what i hate about java... you never see files with a couple of thousand lines of code
14:24 <+florinciu> busted! :))
14:24 <jstoldt> ;)
14:24 <+sburjan`> :))
14:25 <+sburjan`> it's hard when you're on 3 IRC Networks :))
14:25 <cjdelisle> "never see files with a couple of thousand lines of code" sooo easy to make a huge mess out of a file that big.
14:25 <jstoldt> sburjan`: only if you don't use two for xdcc'ing ;)
14:26 <+sburjan`> I only xdcc from one of them.. but also other things :)
14:26 <jstoldt> ;)
14:26 <jstoldt> cjdelisle: true, but i like classes that are a little bigger but contain a more complete set of functions that all belong to one meta object
14:27 <cjdelisle> I like functions.
14:27 <cjdelisle> C == no state.
14:27 <jstoldt> like in eMule's code you got PartFile.cpp with more than 2000 lines of code and anything related to downloads from a file point of view is present in that file
14:27 <cjdelisle> unless you are a horrible coder and use global variables everywhere.
14:27 <jstoldt> oh, global variables are messy, imo
14:28 <cjdelisle> Well... XWikiDocument is 7000 lines and anything related to anything is in there...
14:29 <jstoldt> nice! that must be the only file this big. because any other file i checked out thisfar was just a couple of comments along with three lines of code :-P
14:30 <cjdelisle> There are a couple other big ones, nothing that big though ---> code I really don't like working on.
14:30 <jstoldt> btw, are you with the paris office?
14:31 <jstoldt> or somewhere entirely else?
14:31 <cjdelisle> I'm in the Massachusetts USA office :)
14:31 <jstoldt> and working fulltime on xwiki, though?
14:31 <jstoldt> who's paying for that? or do you work as a consultant?
14:32 <+sburjan`> cjdelisle: we should consider breaking that class into smaller one .. but this requires very much work
14:32 <cjdelisle> I guess I'm a consultant. Full time until attachments are done.
14:32 <jstoldt> ah, i see
14:33 <+sburjan`> so after finishing with attachments you won't be so active ? :)
14:33 <cjdelisle> More like "every waking hour".
14:33 <jstoldt> come to think of it, you are planning to make some code that allows transition from the 1.x-2.x DB scheme to the 3.x FS scheme, right?
14:33 <cjdelisle> Should be automatic transitioning.
14:34 <cjdelisle> If not found in FS, check DB.
14:34 <jstoldt> so you are not planning to shrink the DBs by pulling all the attachments out of there and adding them to the FS?
14:35 <+sburjan`> cjdelisle: so after all, all attachments will be held separately ... and NOT in the DB ?
14:35 <cjdelisle> Only on delete because it's dangerous to start removing things from the DB.
14:35 <cjdelisle> correct.
14:35 <jstoldt> why is that?
14:36 <+sburjan`> I guess so we can support large attachments and don't choke the db
14:36 <cjdelisle> why is what?
14:36 <cjdelisle> dangerous to start removing things from the DB?
14:36 <jstoldt> why is it dangerous to delete stuff from the DB
14:36 <jstoldt> ^^
14:37 <cjdelisle> Suppose you do a load from the db and it's a low quality db engine (not saying any names but it's initials are MyISAM) and it fails halfway through and silently?
14:37 <ggueneau> has joined #xwiki
14:37 <cjdelisle> Pull to file, delete from db, have half an attachment, pwnd.
14:38 <+sburjan`> owned :)
14:39 <cjdelisle> It'd be easy enough to write up a groovy script to move everything over. IMO that's the better way because in that case an admin will be watching.
14:39 <jstoldt> okay, just as a disclaimer, i am really not much into the DB business, anyway, what i'd imagine would be something like "load attachment (versions) and save them to disk, verify them and then delete them from the DB"
14:39 <jstoldt> exactly, that was something i was thinking about
14:39 <+sburjan`> but why should we have attachments in the db in first place ?
14:39 <jstoldt> or make some import document in the default .xar with a "hit me" button that triggers the job...
14:40 <jstoldt> sburjan`: that's how it is now, i understand
14:40 <+sburjan`> i know, now yes.
14:40 <jstoldt> this is why it would, imo, be an improvement to make maximum use of the new attachment storage cjdelisle  is working on
14:40 <+sburjan`> but in the future .. we'll keep existing attachments in db for backward compat ?
14:40 <cjdelisle> One advantage of storage in a VARBINARY is you run mysql_dump and you have everything.
14:40 <jstoldt> my point...
14:41 <jstoldt> true
14:41 <cjdelisle> Not worth the costs though IMO.
14:41 <jstoldt> yep
14:41 <+sburjan`> we could include the extraction fron db into the FS in the Migration procedure we are preparing
14:41 <jstoldt> yeah, something like that...
14:41 <+sburjan`> if someone upgrates from an older version
14:42 <jstoldt> well, probably better as a manual task, though
14:42 <cjdelisle> ^+1
14:42 <+sburjan`> you know better, this is not my area yet
14:43 <jstoldt> manual task with an easy to use interface, some logging and prolly some options to choose only chunks for one go at a time
14:44 <cjdelisle> I have 4k lines of code here mostly for handling every possible case. I don't even want to imagine the possible failure modes doing silent automatic conversion with deletion.
14:44 <jstoldt> the last bit, i imagine, would be good to stop the server from freezing on large DBs for lengthy times
14:44 <jstoldt> yeah... btw, the storage uses file hashes, right?
14:44 <+sburjan`> or make conversion somehow atomic
14:45 <cjdelisle> ^ Massive amount of code
14:45 <jstoldt> because when doing anything of conversion i think doing a hash compare between db file and fs file would be something important to ensure data quality
14:45 <cjdelisle> work/storage/xwiki/Main/WebHome/~this/attachments/30579.jpg/30579.jpg
14:45 <cjdelisle> ^that's my current proposal.
14:45 <jstoldt> despite the cost in CPU time
14:46 <jstoldt> yeah, i read about it in the mailing list, i think
14:46 <+sburjan`> why do we need the ~ ?
14:46 <cjdelisle> Hashing is cheap. Interesting idea.
14:46 <jstoldt> sounded reasonable to me
14:46 <cjdelisle> ~ is URL invalid and everything else is URL encoded.
14:46 <cjdelisle> Imagine nested spaces.
14:46 <cjdelisle> Then imagine you made a document called:
14:47 <+sburjan`> nested spaces ?
14:47 <jstoldt> well, if you hash some hundreds of mega bytes of data twice it might still be a lot of cpu time
14:47 <cjdelisle> xwiki:Main.WebHome.this.attachments.30579\.jpg.30579\.jpg
14:47 <+sburjan`> pe net
14:47 <+sburjan`> wrong windows again :)
14:47 <+sburjan`> *window
14:47 <cjdelisle> You get a collision.
14:47 <cjdelisle> ~this makes the collision impossible.
14:48 <cjdelisle> Remove ~this and it will be impossible without nested spaces and improbable with them.
14:48 <+sburjan`> I don't understand the concep of nested spaces
14:48 <cjdelisle> You have a space called Main
14:48 <+sburjan`> *concept
14:49 <cjdelisle> inside of that you have a space called Another.
14:49 <cjdelisle> Inside of that a document called WebHome.
14:49 <cjdelisle> The fullName is xwiki:Main.Another.WebHome
14:49 <+sburjan`> but afaik we don't have nested spaces atm
14:50 <cjdelisle> correct. without using "~this" we would close the door on adding them in the future.
14:50 <cjdelisle> (Or accept a collision bug)
14:50 <+sburjan`> but do we want this in future ?
14:50 <cjdelisle> I think it is a desired feature.
14:51 <jstoldt> well, for as long as we don't run into path length problems it should be reasonable... come to think of it, are you going to store the entire file name or only abbreveations and keep the complete file name in the DB?
14:51 <cjdelisle> The collision may have security implications esp. if other data is placed in the same hierarchy.
14:51 <jstoldt> by we i mean you, obviously ;)
14:51 <cjdelisle> ^you have a say in the matter.
14:51 <lucaa> has quit
14:52 <cjdelisle> Entire file name will be stored (by my current code)
14:52 <jstoldt> i know, just saying ;)
14:52 <jstoldt> i was thinking about rather long file names and rather long paths... i know it's problematic on older filesystems
14:53 <cjdelisle> ^dos
14:53 <+sburjan`> cjdelisle: and the dir structure will look something like browsing with WebDav ?
14:53 <jstoldt> since the .zip standalone runs on any stick it could happen on stick installations of XWiki
14:53 <jstoldt> which would be unfortunate for people using that
14:54 <jstoldt> stick = usb stick
14:54 <cjdelisle> I looked into different filesystem characteristics and all I saw that are reasonably new supported 255 char filenames.
14:55 <cjdelisle> usb --> fat32 IIRC. That shouldn't be too much of a problem.
14:55 <cjdelisle> Bigger problem is constant writes to the flash which will ruin it.
14:55 <jstoldt> true
14:56 <jstoldt> i think usually it's really FAT32 but i remember faintly to have seen FAT16 flash drives at some point not too long ago
14:56 <jstoldt> might have been some mp3 player, though
14:57 <cjdelisle> I think even then windows will make a conversion table aka PROGRA~1
14:58 <cjdelisle> Anyway, the filename generator is modular.
14:58 <jstoldt> ah, okay... because i thought that was something that the programs would have to take care of
14:58 <cjdelisle> Could use sha1's of everything but it wouldn't be readable.
14:58 <jstoldt> anyway, did not mean to talk you into new problems ;)
14:59 <jstoldt> true, although sha-1 would be nice for the comparison on conversion^^
14:59 <jstoldt> it's rather reliable, for all i know
14:59 <cjdelisle> As a CRC it's overkill but good.
15:00 <jstoldt> well, eMule made a transition from md4 to almost exclusively sha-1 because md4 could allow different data to have the same hash under some wild circumstances
15:01 <+sburjan`> collisions
15:01 <+sburjan`> birthday paradox
15:01 <cjdelisle> How to become a CA without even asking...
15:01 <jstoldt> ?
15:02 <cjdelisle> certificate authority.
15:02 <cjdelisle> http://www.phreedom.org/research/rogue-ca/
15:03 <jstoldt> ahh
15:05 <cjdelisle> The first rule of cryptography is follow all of the rules.
15:05 <cjdelisle> The second is don't use md5.
15:05 <cjdelisle> and the third is when you are asked for a random number, don't supply the same random number every time.
15:05 <jstoldt> LOL
15:06 <cjdelisle> I suppose you heard about sony's blunder then.
15:06 <+sburjan`> no
15:06 <+sburjan`> :)
15:06 <jstoldt> nope... really not much into crypto...
15:06 <jstoldt> never had the time :(
15:07 <cjdelisle> They broke rules 1 and 3. And now the private key for signing ps3 games, isn't.
15:08 <jstoldt> :-D pwned
15:08 <cjdelisle> There's a presentation about it at the 27c3 conference.
15:09 <jstoldt> the one that was held in berlin on christmas?
15:09 <cjdelisle> yup
15:09 <jstoldt> finally some real expertise in germany! ;)
15:10 <cjdelisle> The vid is hilarious. Mega trolling of sony.
15:10 <sdumitriu> has joined #xwiki
15:10 <jstoldt> btw, did you see the presentation on the stoned bootkit?
15:10 <jstoldt> i thought that stuff was really interesting
15:11 <cjdelisle> Heard of it. mbr malware isn't new. It just isnt that easy to implement.
15:11 <jstoldt> yep. the guy was 18 back when he coded it. still in school
15:11 <jstoldt> i thought it was pretty impressive
15:12 <jstoldt> his expertise and everything. but he wasn't good with people, you could see that quite clearly
15:12 <cjdelisle> Also it doesn't survive a disk wipe which kind of defeats the purpose of fancy hiding.
15:13 <jstoldt> maybe but being able to intercept data encryption like that
15:13 <jstoldt> can be very useful in some businesses
15:13 <abusenius> has joined #xwiki
15:13 <cjdelisle> If you have kernel then the keys are yours anyway.
15:14 <jstoldt> mhmm
15:16 <cjdelisle> If I had secrets to keep, I'd probably use a ps3 which was disconnected from any network.
15:16 <cjdelisle> Resists hardware attacks, supports linux.
15:17 <jstoldt> may be true but it's not as fancy as having an encrypted container in an encrypted container using true crypt
15:17 <jstoldt> both with extremely powerful passphrases, obviously
15:17 <cjdelisle> ^dump ram == ownd
15:18 <cjdelisle> DMA is not your friend.
15:18 <jstoldt> yeah but it's more fancy than just using a PS3 ;)
15:18 <jstoldt> prolly not as secure
15:18 <jstoldt> but more fancy :-P
15:18 <cjdelisle> ps3 + linux + truecrypt of course.
15:18 <jstoldt> okay, that would be fancy squared, i think ;)
15:19 <cjdelisle> or whatever crypt. important part is you type the passwd in to a keyboard on the ps3 itself, and don't give it network access.
15:19 <jstoldt> yep
15:19 <cjdelisle> No DMA, no cold boot attacks, can't pull the ram, it's powerpc so everything is weird.
15:20 <cjdelisle> ^aka 0x90 doesn't work
15:20 <jstoldt> but i think there is no password as good as a wii-mote and a drunk person setting the "pass move" with it ;)
15:21 <cjdelisle> A good KDF can improve the quality of the password.
15:21 <jstoldt> kdf?
15:21 <cjdelisle> (key derivation function)
15:21 <jstoldt> hmmm
15:22 <cjdelisle> http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-crypto/src/main/java/org/xwiki/crypto/passwd/internal/ScryptMemoryHardKeyDerivationFunction.java
15:22 <cjdelisle> That is a good kdf.
15:22 <jstoldt> :)
15:22 <cjdelisle> Takes ~5M of ram 100ms to turn a password into a key.
15:22 <jstoldt> i see
15:23 <cjdelisle> Try to imagine brute forcing with those numbers.
15:24 <cjdelisle> BTW: $services.crypto.passwd.encryptText(final String plaintext, final String password)
15:24 <jstoldt> what's the final keyword doing?
15:25 <cjdelisle> Still you have side channel attacks which are plenty on a web server but the crypto is pretty safe.
15:25 <cjdelisle> final only applies to the code inside of the function.
15:26 <cjdelisle> It prevents that code from reassigning the variable.
15:26 <cjdelisle> I didn't want that code to reassign those variables so I have the compiler check for me.
15:27 <cjdelisle> Also you can look at final and know that it will not be reassigned.
15:27 <jstoldt> ah, like the const in C++...
15:27 <cjdelisle> Almost.
15:27 <cjdelisle> const char* myString means the array is constant.
15:28 <cjdelisle> In java you can say:
15:28 <cjdelisle> final byte[] array = {0x00, 0x01, 0x02};
15:28 <cjdelisle> array[1] = 0x03;
15:28 <cjdelisle> ^that's valid.
15:28 <cjdelisle> array = anotherArray;
15:29 <cjdelisle> is not.
15:29 <cjdelisle> final byte[] myArray ---> char* const myArray;
15:29 <cjdelisle> the pointer is const.
15:30 <jstoldt> i see
15:30 <jstoldt> sometimes i think i should have majored in computer sciences
15:30 <jstoldt> ... ;)
15:31 <jstoldt> lol?
15:32 <cjdelisle> Pretty much no formal instruction in programming.
15:32 <jstoldt> well, same here, but it seems you got a lot further than i did so far...
15:32 <jstoldt> lots of try and error here... ;)
15:33 <cjdelisle> The compiler is my teacher.
15:33 <cjdelisle> And I use whatever code style I like the best.
15:33 <cjdelisle> So you know my code because it self documents as much as possible by using this and final wherever I can fit them.
15:36 <jstoldt> in C++ i used this-> in the beginning but soon dropped it because it was obscuring the code a little too much, imo. as for const... not using it too much either...
15:36 <vmassol> has quit
15:37 <cjdelisle> const is hard because so many functions don't support it.
15:37 <cjdelisle> if you have a function though and you don't change the input, the input must be const.
15:38 <cjdelisle> this-> sounds like it could affect performance.
15:38 <cjdelisle>  -> means (*obj).
15:38 <jstoldt> true but i almost never bother defining that in the code. i don't seen a particular gain unless something screws up
15:38 <cjdelisle> * means do a memory lookup.
15:39 <cjdelisle> memory lookup means let the proc idle for 200-500 cycles.
15:39 <jstoldt> i don't think this-> has any influence on the performance but i don't know definately
15:39 <cjdelisle> ^optimizing compiler.
15:39 <cjdelisle> C vs. C++
15:39 <jstoldt> ^^
15:48 <+sburjan`> ye :))
15:49 <cjdelisle> ctrl+n
15:50 <+sburjan`> irssi or mIRC ?
15:50 <cjdelisle> irssi switch windows
15:50 <+sburjan`> works on mIRC too :)
15:51 <+sburjan`> I'm on 11 chanz 3 networks
15:52 <+sburjan`> on 2 computers in parallel
15:53 <cjdelisle> I'm in a few other chans but it never is a bother because noone ever says anything on efnet.
15:54 <+sburjan`> codehaus is pretty calm too
16:02 <cjdelisle> should this line effect anything?
16:02 <cjdelisle> } catch (RuntimeException e) { e.printStackTrace(); throw e; }
16:03 <cjdelisle> Adding a try/catch which rethrows after printing the stack trace.
16:03 <cjdelisle> s/effect/affect/
16:05 <cjdelisle> oh boy I've got a keeper.
16:05 <cjdelisle> sdumitriu, remember you reviewed the transaction code and said that onComplete should be in a finally clause?
16:07 <cjdelisle> When it is, I _think_ I get a runtimeException which is swallowed because it's a onComplete and that can't happen.
16:07 <lucaa> has joined #xwiki
16:07 <cjdelisle> When I move it out of the finally clause, into the catch, and copy paste it at the end, it works, no exception.
16:08 <cjdelisle> When I try to catch the exception, print it's stack trace and rethrow, no exception.
16:08 <cjdelisle> AKA everything works correctly.
16:23 <cjdelisle> http://pastebin.com/uMQgVzsJ
16:34 <cjdelisle> Wonder if I have bad hardware.
16:36 <cjdelisle> oh well. bed time. Face this one tonight.
16:40 <jstoldt> O_O now?
16:41 <jstoldt> you don't sparkle and have long fangs, do you now? ;)
16:45 <+evalica> you watch twilight to much :P
16:46 <jstoldt> as a matter of fact i did not watch any single one of the movies... just "Vampires Suck"
16:46 <jstoldt> that one was quality wise about as bad but at least they did not mean to be serious
16:53 <+sburjan`> :))
16:56 <ggueneau> has quit
16:57 <ggueneau> has joined #xwiki
17:30 <jstoldt> bye bye
17:30 <jstoldt> has quit
17:32 <evalica> has quit
17:42 <sabageru> has quit
17:48 <florinciu> has quit
18:25 <lucaa> has quit
18:47 <newbie|2> has joined #xwiki
18:49 <mbryant> has quit
19:03 <newbie> has joined #xwiki
19:03 <newbie> is now known as <Guest83260>
19:05 <newbie|2> has quit
19:09 <Guest83260> has quit
19:09 <Enygma`> has quit
19:10 <arkub> has quit
19:31 <ggueneau> has quit
19:34 <jvdrean> has quit
19:46 <Menso> has quit
20:27 <mflorea> has joined #xwiki
20:28 <@sdumitriu> mflorea: Dropping support for FF2 should be documented
20:28 <@sdumitriu> It deserves more than a reference in a commit log
20:31 <+mflorea> sdumitriu: it should be written in the release note for 3.0M1. I don't think there are many users with FF2 when FF4 is about to be released.
20:55 <+sburjan`> that seems an important commit .. a lot of changes ... change is good usually
21:24 <ggueneau> has joined #xwiki
21:46 <evalica> has joined #xwiki
21:56 <Menso> has joined #xwiki
22:11 <+evalica> sdumitriu: in a .vm - how can I use wiki code? for example create.vm - how can I use '= $title =' ?
22:12 <@sdumitriu> You can't
22:13 <@sdumitriu> You must use HTML
22:13 <@sdumitriu> If you really must use wiki syntax, you can do
22:13 <@sdumitriu> $doc.getRenderedContent(' some wiki content')
22:14 <+evalica> I've put '<div id="document-title"><h1>' instead of just <h1> ... is there any problem with this? I mean ... is not gonna be very extensible
22:14 <@sdumitriu> (that's deprecated)
22:14 <@sdumitriu> I've seen, that's OK
22:14 <+evalica> k thanks sergiu
22:16 <vmassol> has joined #xwiki
22:22 <ggueneau> has quit
22:22 <mflorea> has quit
22:29 <evalica> has quit
22:40 <vmassol> has quit
22:55 <lucaa> has joined #xwiki

Get Connected