23:51 <@waawaamilk> Mjollnir`: wanna talk about import? 23:51 < Mjollnir`> yeah we could do that now 23:52 <@waawaamilk> :) 23:53 <@waawaamilk> ok.. 23:54 <@waawaamilk> something that occured to me just now is that we're gonna have two export formats, but what's a good candidate for second import format? 23:54 < Mjollnir`> true 23:54 < Mjollnir`> please not ims 23:54 < Mjollnir`> hmm that's harder 23:54 <@waawaamilk> moodle backup? 23:55 <@waawaamilk> (if that makes sense?) 23:55 < Mjollnir`> no 23:55 < Mjollnir`> surely that doesn't make sense 23:55 <@waawaamilk> heh 23:56 < Mjollnir`> http://ioc.xtec.cat/eportfoli/view/view.php?id=5 23:56 < Mjollnir`> my slides in catalan! 23:56 < Mjollnir`> <-- distractely 23:56 < Mjollnir`> -l 23:57 * waawaamilk grrs at urxvt 23:57 <@waawaamilk> heh, nice one 23:58 <@waawaamilk> views are vistas, eh 23:59 < Mjollnir`> NOT the windws sort 23:59 < Mjollnir`> but tyeah 23:59 < Mjollnir`> oh and also 23:59 < Mjollnir`> majara in spanish is something very funny 23:59 <@waawaamilk> majara? 23:59 < Mjollnir`> and someone told me they were a 'maharian' 00:00 < Mjollnir`> which is a good way to say 'person who is into mahara' i think 00:00 <@waawaamilk> like moodler? 00:00 < Mjollnir`> yes exactly 00:00 <@waawaamilk> heh 00:00 <@waawaamilk> evonne keeps saying maharara 00:00 < Mjollnir`> i like maharian 00:00 < Mjollnir`> anyway 00:00 <@waawaamilk> doesn't quite roll off the tounge 00:00 < Mjollnir`> majara would be the way to spell mahara in spanish 00:00 < Mjollnir`> and it means like 00:00 < Mjollnir`> a really crazy persobn 00:00 < Mjollnir`> like 00:00 < Mjollnir`> one of those jackass guys 00:01 <@waawaamilk> one maharaian, multiple maharaian 00:01 <@waawaamilk> heh, oarsum 00:01 < Mjollnir`> jumping off cliffs for fun and stufff 00:01 <@waawaamilk> feeding themselves to crocs 00:01 <@waawaamilk> anyhoo 00:01 <@waawaamilk> offtopic 00:01 <@waawaamilk> is there a second format? 00:01 < Mjollnir`> right 00:01 <@waawaamilk> or do we just roll with one and make guesses? 00:02 < Mjollnir`> sorry, still trying to reply to email and stuff 00:02 < Mjollnir`> so 00:02 <@waawaamilk> the export api might give clues 00:02 < Mjollnir`> i do'nt think moiodle backup makes sense 00:02 < Mjollnir`> yeah i think we stick with one for now 00:02 < Mjollnir`> it can always change 00:02 < Mjollnir`> and evolve 00:03 <@waawaamilk> hm 00:03 <@waawaamilk> so, what do we want to support? 00:03 < Mjollnir`> LEAP for now 00:03 <@waawaamilk> people can upload a file, and a new account is created with all that data? 00:04 < Mjollnir`> later, maybe 00:04 < Mjollnir`> oh 00:04 < Mjollnir`> sorry 00:04 <@waawaamilk> heh, my bad 00:04 < Mjollnir`> um 00:04 <@waawaamilk> people can upload a file, and that data is merged with existing account? 00:04 < Mjollnir`> i don't think we can do new account now 00:04 < Mjollnir`> oh maybe we can 00:04 <@waawaamilk> admins can upload file to create new account? 00:04 < Mjollnir`> yeah 00:04 <@waawaamilk> I would have thought that would have been easier 00:04 <@waawaamilk> mass upload files to create new accounts? 00:04 < Mjollnir`> but they might want to create the account first 00:04 < Mjollnir`> yeah i guess 00:05 <@waawaamilk> the problem with existing accounts is that you have conflicts between existing data 00:05 < Mjollnir`> i'm worried about money 00:05 <@waawaamilk> heh 00:05 < Mjollnir`> i mean 00:05 <@waawaamilk> the simplest thing might have to do 00:05 < Mjollnir`> yeah 00:05 < Mjollnir`> just throwing that out there ... 00:05 <@waawaamilk> fair point 00:05 < Mjollnir`> haven't heard back from uni g or richard 00:05 <@waawaamilk> richard says some tec funding might come in at the end of this week 00:06 <@waawaamilk> apparently they might be timing it with the election so the media don't catch on or something 00:06 < Mjollnir`> for this ? 00:06 < Mjollnir`> eh ? 00:06 < Mjollnir`> media ?> 00:06 <@waawaamilk> no idea what it's for, it might be the big massey project 00:06 <@waawaamilk> richard was conspircy-theorising I think 00:06 < Mjollnir`> weird 00:07 < Mjollnir`> ok 00:07 < Mjollnir`> anyway 00:07 < Mjollnir`> so 00:07 < Mjollnir`> one thing that got raised a lot was the 'holding area' thing 00:07 < Mjollnir`> and that solves the conflict problem as well 00:07 < Mjollnir`> because the more i think about it the more i think we cannot do completely non interactive imports 00:07 <@waawaamilk> so there is an expectation that people are able to merge data? 00:07 < Mjollnir`> not even just that but like 00:08 < Mjollnir`> make decisiosn about where to send stuff 00:08 <@waawaamilk> hm 00:08 < Mjollnir`> at the meeting, 00:08 <@waawaamilk> do you imagine the process of importing being syncronous or asyncronous? 00:08 < Mjollnir`> all the previous partners agreed on that 00:09 < Mjollnir`> i don't understand what you're asking 00:09 <@waawaamilk> e.g., does the holding area stick around while users use the site and they can come back and make decisions later 00:09 < Mjollnir`> right 00:09 < Mjollnir`> yes i think so 00:09 < Mjollnir`> what do you think ? 00:09 <@waawaamilk> I think so too 00:10 <@waawaamilk> I'm trying to think of a good model 00:10 <@waawaamilk> but maybe something like 00:10 <@waawaamilk> user uploads file 00:10 <@waawaamilk> user presented with screen showing contents of file 00:10 <@waawaamilk> at any point user can browse away from, and come back to, this screen 00:10 < Mjollnir`> yeah 00:10 <@waawaamilk> they can pick bits out of it and import it as they choose 00:10 <@waawaamilk> or of course do the whole thing in one go 00:10 < Mjollnir`> but also i think maybe *stuff* from moodle should go there too 00:10 <@waawaamilk> true... 00:11 < Mjollnir`> which helps with the 'go away and come back again' thing 00:11 < Mjollnir`> :> 00:11 <@waawaamilk> that makes good sense 00:11 < Mjollnir`> um 00:11 <@waawaamilk> stuff can come in via mnet to import holding area 00:11 < Mjollnir`> i also think , maybe eventually, 00:11 < Mjollnir`> we should support the user being able to do something like 'always do this and stop asking' for particular decisions 00:11 < Mjollnir`> maybe 00:11 < Mjollnir`> also 00:11 < Mjollnir`> someone suggested in rome 00:11 <@waawaamilk> yeah potentially.. depends on the decisions 00:11 < Mjollnir`> creating views 00:12 < Mjollnir`> but not granting access 00:12 < Mjollnir`> for the imported stuff 00:12 < Mjollnir`> (moodle import) 00:12 < Mjollnir`> i am not convinved about this btw 00:12 <@waawaamilk> so like 00:12 <@waawaamilk> if I send a blog over 00:12 <@waawaamilk> a view is created with the blog in it? 00:13 < Mjollnir`> something like that 00:13 <@waawaamilk> I'm not convinced either 00:13 < Mjollnir`> ok lets shelve that for now 00:13 <@waawaamilk> right 00:13 <@waawaamilk> I like the idea of this holding area that you can go away from/come back to though 00:13 < Mjollnir`> cool 00:13 < Mjollnir`> i think that's the best way 00:14 <@waawaamilk> you have to deal with user uploading two files I guess 00:14 <@waawaamilk> profile information is tricksy 00:14 <@waawaamilk> there is some data that will only ever fit in one place in mahara 00:14 <@waawaamilk> and some that can happily be duplicated 00:14 < Mjollnir`> that doesn't really come out of leap though 00:14 <@waawaamilk> e.g. first name vs. files 00:14 < Mjollnir`> i don't think 00:14 <@waawaamilk> right 00:14 < Mjollnir`> i don't think leap is really meant to do profiley stuff 00:14 <@waawaamilk> true 00:15 * waawaamilk was thinking of a pure mahara import/export thing 00:15 < Mjollnir`> which is what worried me about hte account creation model 00:15 <@waawaamilk> go on? 00:15 < Mjollnir`> well 00:15 < Mjollnir`> if you're using a leap import to create accounts 00:16 < Mjollnir`> what do you use for all the user information 00:16 < Mjollnir`> that sort of thing 00:16 <@waawaamilk> true 00:16 <@waawaamilk> I think the holding area plus your point about leap not doing profile stuff gets around my initial concern about conflicts 00:16 <@waawaamilk> although potentially other import formats might want to import profiley stuff 00:16 <@waawaamilk> maybe we shelve that idea until later? 00:17 <@waawaamilk> next iteration of import api 00:17 < Mjollnir`> yep 00:17 < Mjollnir`> happy 00:17 <@waawaamilk> ok, so users have to exist 00:17 <@waawaamilk> they upload import file, data goes to holding area, all is good 00:17 <@waawaamilk> admins can upload dataz for users too? 00:18 < Mjollnir`> yes 00:18 < Mjollnir`> i think so too 00:18 <@waawaamilk> hm 00:18 < Mjollnir`> because admin might do 00:18 < Mjollnir`> create account, upload file 00:18 <@waawaamilk> actually, to term that problem above in mahara's terms, we won't support importing to artefacts that is_singular() returns true for 00:18 <@waawaamilk> (until later) 00:18 < Mjollnir`> um 00:19 < Mjollnir`> we might if there isn't one already ? 00:19 <@waawaamilk> well leap won't have any 00:19 <@waawaamilk> (will it?) 00:19 <@waawaamilk> so we could just ignore it for now 00:19 < Mjollnir`> um 00:19 * Mjollnir` tries to think of is_singular 00:19 < Mjollnir`> begin tangent 00:19 < Mjollnir`> my slides for the mahara dev workshop might be a good starting point for some dev documentation btw 00:19 <@waawaamilk> firstname, lastname... stuff you can only have one of ever 00:20 < Mjollnir`> i can send them to you 00:20 < Mjollnir`> end tangent 00:20 <@waawaamilk> cool 00:20 < Mjollnir`> yeah i know what it is i was just wondering if anything other than profile information set it 00:20 * waawaamilk looks at list of artefact types 00:20 < Mjollnir`> some resume stuff 00:20 < Mjollnir`> cover letter and interests 00:21 < Mjollnir`> and contact information 00:21 <@waawaamilk> hm 00:21 <@waawaamilk> damnit which file has the list 00:21 <@waawaamilk> s/file/dbtable/ 00:21 <@waawaamilk> artefact_installed_type 00:21 < Mjollnir`> oh i just grepped 00:22 < Mjollnir`> and then looked through some of them 00:22 <@waawaamilk> true, resume stuff is singular (at the moment) and is in leap 00:22 <@waawaamilk> ok so there could be 'conflicts' there 00:22 <@waawaamilk> although it's not like we would do conflict resolution anyways 00:22 <@waawaamilk> it would be a case of choose this one or don't 00:23 < Mjollnir`> yeah 00:23 < Mjollnir`> keep existing or add new 00:23 < Mjollnir`> like when you install new debian conf files 00:23 <@waawaamilk> and no option to drop to a shell to examine the situation :> 00:23 < Mjollnir`> the holding area can do this though because it can see 00:24 < Mjollnir`> a) is_singular and b) something exists or not 00:24 <@waawaamilk> yeah 00:24 <@waawaamilk> so what the holding area could do is 00:24 <@waawaamilk> display what's in the import 00:24 <@waawaamilk> highlight it if it's different from what the account has 00:24 < Mjollnir`> yes 00:25 <@waawaamilk> question: can users upload more than one import file 00:25 <@waawaamilk> thus having more than one 'contestant' for an is_singular slot? 00:25 < Mjollnir`> at a time ? 00:25 <@waawaamilk> not necessarily at a time 00:25 <@waawaamilk> upload, examine holding area, upload again 00:25 < Mjollnir`> they can do it againa nd again and resole the conflict eachtime 00:25 < Mjollnir`> sorry, still typing problem 00:25 < Mjollnir`> oh 00:25 < Mjollnir`> i see 00:25 < Mjollnir`> hm 00:25 < Mjollnir`> i think there are many holding areas 00:25 <@waawaamilk> does that merge the new import info into one uber holding area? 00:25 < Mjollnir`> in that case 00:25 < Mjollnir`> and 00:25 < Mjollnir`> no 00:26 <@waawaamilk> right 00:26 < Mjollnir`> holdingarea/date/ 00:26 <@waawaamilk> hmm 00:26 <@waawaamilk> the holding area mechanisms are going to be complex 00:26 < Mjollnir`> why ? 00:26 < Mjollnir`> I think this is what it should do 00:26 < Mjollnir`> : 00:27 < Mjollnir`> unpack the file and parse it 00:27 < Mjollnir`> present the user with a list of content 00:27 < Mjollnir`> for each item, 00:27 < Mjollnir`> "guess" where they might want to send it (as well as tell them all the options that are supported) 00:27 < Mjollnir`> tell them when there's a conflict 00:27 < Mjollnir`> end for each 00:28 <@waawaamilk> is the file unpacked and parsed every time the user looks at the page? 00:28 < Mjollnir`> no 00:28 <@waawaamilk> do the files count towards the user's quota? 00:28 < Mjollnir`> quota is tricky 00:28 < Mjollnir`> i think no, until they want to strt importing 00:29 <@waawaamilk> a user might be a bit thick, and upload a 100M portfolio a every time they want to import 00:29 <@waawaamilk> maybe there's a separate quota for that 00:29 <@waawaamilk> though that could be later work 00:29 < Mjollnir`> could be actually 00:29 < Mjollnir`> yeah 00:29 <@waawaamilk> ok so uploading import file -> new holding area 00:29 <@waawaamilk> when does the holding area die? 00:30 <@waawaamilk> user chooses, all data imported... after time period? 00:30 < Mjollnir`> when there's no data left in a particular import, import goes 00:30 < Mjollnir`> maybe we could message them after $time to say "it will be deleleted if you don'tdeal with it"! 00:30 < Mjollnir`> fuck 00:30 < Mjollnir`> sorry, my typing is really bad with sore wrist 00:30 <@waawaamilk> :( 00:31 <@waawaamilk> it's not affecting legibility 00:31 < Mjollnir`> no, it's just frustrating :) 00:31 <@waawaamilk> back to holding area thing 00:31 < Mjollnir`> yep 00:31 <@waawaamilk> it sounds to me like you were describing some kind of wizard 00:31 < Mjollnir`> hm 00:32 < Mjollnir`> i don't like the word wizard 00:32 <@waawaamilk> multistep process with helping paperclip? 00:32 <@waawaamilk> I don't think a wizard is necessarily appropriate here 00:32 < Mjollnir`> NO PAPERCLIP 00:32 < Mjollnir`> yeah i don't either 00:32 < Mjollnir`> but 00:32 <@waawaamilk> it might be in conjunction with some other ui 00:32 < Mjollnir`> i have an image in my head 00:32 < Mjollnir`> like 00:32 < Mjollnir`> a page with two columns 00:33 < Mjollnir`> table with two columns 00:33 < Mjollnir`> left cell has info about item 00:33 < Mjollnir`> rightt cell has actions 00:33 < Mjollnir`> discard , send to 'files/folder/' etc 00:33 < Mjollnir`> if there's a conflict, it prints warning there 00:33 < Mjollnir`> next row 00:33 < Mjollnir`> etc 00:33 <@waawaamilk> I had an image of something like the files section we have currently, which is close enough 00:33 <@waawaamilk> the point is, it's not a wizard 00:34 < Mjollnir`> no 00:34 <@waawaamilk> it's a list of everything in it with actions 00:34 < Mjollnir`> i didn't really have a wizard in my head 00:34 < Mjollnir`> yes 00:34 < Mjollnir`> quite 00:34 <@waawaamilk> though it needs to be easy to mass do things 00:34 < Mjollnir`> maybe there coud be filter controls 00:34 < Mjollnir`> like 00:34 < Mjollnir`> show me everything you think is a file 00:34 < Mjollnir`> check all 00:34 <@waawaamilk> I was just going to say :D 00:34 < Mjollnir`> send to 'folder' 00:35 <@waawaamilk> it sounds like we both have the same image 00:35 < Mjollnir`> yep 00:35 <@waawaamilk> I think it should be mocked up 00:35 < Mjollnir`> sweet 00:35 < Mjollnir`> yes good idea 00:35 < Mjollnir`> who should do that? us or a russel/evonne type person 00:35 <@waawaamilk> a usability type 00:35 <@waawaamilk> I think that means a developer in our case 00:35 < Mjollnir`> is that russell ? 00:35 < Mjollnir`> ogh 00:35 <@waawaamilk> nope 00:35 < Mjollnir`> oh 00:35 < Mjollnir`> i thought russel's job was to do UI design 00:35 < Mjollnir`> isn't he like 00:36 < Mjollnir`> JN was telling me he was 00:36 < Mjollnir`> um 00:36 <@waawaamilk> maybe... 00:36 < Mjollnir`> i can 't remember the title 00:36 < Mjollnir`> like 00:36 <@waawaamilk> he knows how to do flash 00:36 <@waawaamilk> he's a ba who manages the g&d team as far as I know :) 00:36 < Mjollnir`> information architect or something but when i queried it JN convinced me it was about UI design 00:36 <@waawaamilk> I think we need the domain knowledge we have to make something to begin with 00:37 <@waawaamilk> you and I know what we're on about but I don't think we could communicate that clearly to him without some image to start from 00:37 < Mjollnir`> ok 00:37 < Mjollnir`> i can do something 00:37 <@waawaamilk> :) 00:37 <@waawaamilk> hm 00:37 <@waawaamilk> portfolios could be huge 00:37 < Mjollnir`> ? 00:37 <@waawaamilk> it must be easy to filter through it all 00:38 < Mjollnir`> yes 00:38 < Mjollnir`> agree 00:38 <@waawaamilk> what about page sizes? 00:38 <@waawaamilk> does it paginate? 00:38 < Mjollnir`> yeah i think it would have to 00:38 <@waawaamilk> if it does, do you want it to not paginate when showing 'all' of something? 00:38 < Mjollnir`> option 00:38 <@waawaamilk> hm 00:38 <@waawaamilk> or maybe it's like gmail's spam thing 00:38 < Mjollnir`> ? 00:38 <@waawaamilk> showing 50 files, you can check all of them or click the link to "select all files in spam" 00:38 <@waawaamilk> then do an action 00:39 < Mjollnir`> oh 00:39 < Mjollnir`> i see 00:39 <@waawaamilk> there is quite a bit of usability work to go into this holding area 00:39 * waawaamilk flags as something to remember 00:40 <@waawaamilk> is that basically the entire process? 00:40 < Mjollnir`> yep 00:40 < Mjollnir`> i think so 00:40 < Mjollnir`> what about code ? 00:40 <@waawaamilk> ? 00:40 < Mjollnir`> i mean do you want to talk about code too ? 00:40 <@waawaamilk> oh 00:40 <@waawaamilk> yeah could do 00:40 * waawaamilk looks sadly at resume bugs piling up from glasgow 00:41 < Mjollnir`> yeah 00:41 < Mjollnir`> they're good though 00:41 <@waawaamilk> together, they all scream "rewrite!!" (at least to me) 00:41 <@waawaamilk> anyways 00:42 <@waawaamilk> so I imagine these pages sit under import 00:42 <@waawaamilk> import/ 00:42 <@waawaamilk> import/holdingarea.php for example 00:42 <@waawaamilk> import/leap/lib.php as discussed in the last meeting... 00:42 < Mjollnir`> hm 00:43 < Mjollnir`> holding area for all import formats > 00:43 < Mjollnir`> yeah i guess so 00:43 <@waawaamilk> yeah 00:43 <@waawaamilk> you have to convert from $format to something neutral 00:43 <@waawaamilk> for all formats 00:43 <@waawaamilk> or 00:43 <@waawaamilk> no 00:43 <@waawaamilk> the api has to be consistent to ask questions about an import 00:43 < Mjollnir`> hm 00:44 < Mjollnir`> hmmm 00:44 <@waawaamilk> LeapImporter->gimmeNextArtefact 00:44 <@waawaamilk> (LeapImporter extends Importer or something) 00:44 * Mjollnir` humms 00:44 < Mjollnir`> thinking 00:45 < Mjollnir`> i think 00:45 < Mjollnir`> that the importer needs to be able to unpack stuff and send it to the holding area 00:45 < Mjollnir`> or 00:45 < Mjollnir`> register it with the holding area 00:45 < Mjollnir`> like: 00:45 < Mjollnir`> file arrives of format leap 00:45 < Mjollnir`> gets given to the leap importer to unpack 00:45 <@waawaamilk> gah 00:45 < Mjollnir`> leap importer unpacks and 00:45 <@waawaamilk> internet died 00:45 < Mjollnir`> ? 00:45 < Mjollnir`> oh 00:46 < Mjollnir`> i thought it was in response to me :> 00:46 <@waawaamilk> heh 00:46 <@waawaamilk> I was going to say what you were just explaining 00:46 < Mjollnir`> so 00:46 < Mjollnir`> ok 00:46 <@waawaamilk> the unpack is a one time process 00:46 < Mjollnir`> we're agreeing 00:46 <@waawaamilk> :) 00:46 < Mjollnir`> by the time stuff gets to holding area 00:46 < Mjollnir`> and it might be very simple, 00:46 < Mjollnir`> for example in the case of a file from moodle 00:46 < Mjollnir`> it's in a consistent format 00:47 <@waawaamilk> ? 00:47 < Mjollnir`> with a pointer back to the importer for more data maybe 00:47 <@waawaamilk> right 00:47 <@waawaamilk> hmmmmmmmmm 00:47 <@waawaamilk> it's interesting 00:47 < Mjollnir`> so that most of the time, the holding area is responsible for the UI and display stuff 00:47 <@waawaamilk> do you uncompress the files? 00:47 <@waawaamilk> and store them on disk somewhere? 00:47 <@waawaamilk> or go back to the compressed import and uncompress to get the files when needed? 00:48 < Mjollnir`> i think uncompress 00:48 <@waawaamilk> does that mean we can discard the actual import file once the initial upload -> holding area thing is done? 00:49 < Mjollnir`> yes 00:49 <@waawaamilk> holding areas are different per format aren't they 00:49 < Mjollnir`> no that's what i mean 00:49 < Mjollnir`> i don't think they should be 00:49 <@waawaamilk> presumably not all import formats are xml + files though? 00:50 < Mjollnir`> no but the importer can register enough data for the holding area to know about 00:50 < Mjollnir`> eg 00:50 < Mjollnir`> title, potential artefact types 00:50 < Mjollnir`> for each item 00:50 <@waawaamilk> that all goes into the holding area db tables? 00:50 < Mjollnir`> yeah 00:50 <@waawaamilk> right 00:50 < Mjollnir`> with an importid since we have multiple holding areas 00:50 < Mjollnir`> i am not sure 00:50 < Mjollnir`> i mean 00:50 < Mjollnir`> i'm leaning towards that 00:50 < Mjollnir`> or maybe 00:50 < Mjollnir`> ! 00:50 < Mjollnir`> better idea 00:51 < Mjollnir`> holding area class 00:51 < Mjollnir`> formats CAN subclass 00:51 < Mjollnir`> but 90% of the time won't 00:51 < Mjollnir`> say for a render item method 00:51 < Mjollnir`> the main class just prints title & suggested artefact types / targets whatever 00:51 < Mjollnir`> but if a particular format wants to do something special it can 00:52 < Mjollnir`> although there also needs to be some interaction with the artefact plugins here too 00:52 < Mjollnir`> like, 00:52 < Mjollnir`> for each item 00:52 <@waawaamilk> do you see the format needing control over something like that? 00:52 < Mjollnir`> the holding area knows it might be file or blog post (say a .html file) 00:52 < Mjollnir`> file and blog post have different options about "target" 00:52 * waawaamilk is thinking more about how to show preview icons for images :) 00:53 < Mjollnir`> right so that ties in with what i just said about artefacts ratehr than formats 00:53 < Mjollnir`> maybe 00:53 <@waawaamilk> yep 00:53 <@waawaamilk> so... 00:53 <@waawaamilk> if something "could" be an X or a Y 00:53 <@waawaamilk> we could ask X and Y to return info about that transformation 00:54 < Mjollnir`> yes 00:54 <@waawaamilk> X could be image, and return " (image of size 20K) 00:54 <@waawaamilk> " 00:54 <@waawaamilk> (maybe they return html to be smacked into the UI) 00:54 < Mjollnir`> hm 00:54 < Mjollnir`> hmm 00:54 < Mjollnir`> i'm not sure about that 00:54 < Mjollnir`> it could be too big 00:54 < Mjollnir`> that's why i just said title 00:55 <@waawaamilk> well blogs might just return title 00:55 <@waawaamilk> images might return an iconified version 00:57 < Mjollnir`> back 00:57 < Mjollnir`> yeah, ok 00:57 < Mjollnir`> but 00:57 < Mjollnir`> that's right column 00:57 < Mjollnir`> what do you put in the left column ? 00:57 < Mjollnir`> information about the source 00:57 <@waawaamilk> yeah 00:57 <@waawaamilk> that has to be format neutral 00:57 < Mjollnir`> which is the responsibility of the format 00:58 <@waawaamilk> oh right maybe not 00:58 < Mjollnir`> yeah sot hat's what I was talking about holding area + maybe subclass 00:58 <@waawaamilk> hm 00:58 < Mjollnir`> although it's per ITEM that you might want to override 00:58 < Mjollnir`> maybe 00:58 < Mjollnir`> hm 00:59 < Mjollnir`> no wait 00:59 < Mjollnir`> really i think that 00:59 < Mjollnir`> when you unpack, you insert into holding tables 00:59 < Mjollnir`> some sort o f tit.e, and a list of artefact types 00:59 < Mjollnir`> wait 00:59 < Mjollnir`> the artefact types need to be polled there too 00:59 < Mjollnir`> gaA 00:59 <@waawaamilk> maybe this left column doesn't make sense? 01:00 < Mjollnir`> but even apart from a ui design, 01:00 < Mjollnir`> there still needs to be SOMETHING in the tables 01:00 < Mjollnir`> to send to the artefacts 01:00 < Mjollnir`> ok 01:00 < Mjollnir`> i need to draw pictures 01:00 < Mjollnir`> 5 minute break 01:00 <@waawaamilk> :) 01:00 < Mjollnir`> okie ? 01:00 <@waawaamilk> yep 01:00 < Mjollnir`> choice bro 01:05 < Mjollnir`> ok so 01:05 < Mjollnir`> i have thought about this and her'es what i think 01:05 < Mjollnir`> file arrives 01:05 < Mjollnir`> it's given to importer to unpack 01:06 < Mjollnir`> for each item, the importer asks what artefact types it can be (we know this from artefact/file/leap::get_entry_types or whatever) 01:06 < Mjollnir`> and inserts a record into the holding tables 01:06 < Mjollnir`> eg: 01:07 < Mjollnir`> http://paste.dollyfish.net.nz/6ca60a 01:08 < Mjollnir`> what i was confused about was how we got the rest of the data once it had been put into a neutral format for the holding area 01:08 < Mjollnir`> either we use the extid field or have an extra table 01:08 < Mjollnir`> in the case of LEAP i would use extid firld and just go back to the xml file 01:08 < Mjollnir`> since each entry has an id 01:08 < Mjollnir`> in the xml file 01:09 <@waawaamilk> make extid text 01:09 < Mjollnir`> yeah 01:09 <@waawaamilk> then maybe you don't need the ability for extra tables 01:09 < Mjollnir`> of course 01:09 < Mjollnir`> well you might if there's no unique idenfier in the source file 01:09 < Mjollnir`> in leap there is 01:09 < Mjollnir`> so we can use extid 01:09 < Mjollnir`> but the iomport formats are true plugins 01:09 < Mjollnir`> so they can have their own tables inf they need 01:09 <@waawaamilk> even if there isn't, you could enforce that the import format convert from extid to a thing 01:10 <@waawaamilk> and make the format deal with it 01:10 <@waawaamilk> yeah I guess 01:10 <@waawaamilk> there will be an api method that, given extid, makes format return a record? 01:10 < Mjollnir`> a record ? 01:10 <@waawaamilk> e.g. a leap item 01:11 < Mjollnir`> why do you need an api method for that 01:11 <@waawaamilk> what I mean is 01:11 < Mjollnir`> it's internal 01:11 <@waawaamilk> well I dunno 01:11 <@waawaamilk> why do you need to refer to the original data? 01:11 < Mjollnir`> um 01:11 < Mjollnir`> for ... when you actually do the import 01:11 <@waawaamilk> oh right 01:11 < Mjollnir`> you ened to give it to the artefact/type/leap place 01:11 < Mjollnir`> :) 01:12 < Mjollnir`> it's sort of two step: 01:12 <@waawaamilk> so that place needs the data 01:12 <@waawaamilk> thus api method? 01:12 <@waawaamilk> meh I dunno 01:12 < Mjollnir`> 1. dumb it down to display to user in consistent way 01:12 < Mjollnir`> 2. import it into mahara 01:12 < Mjollnir`> but I think 2. is internal to the format and the artefact's implementations of the format 01:12 < Mjollnir`> there needs to be an 'ok go' method for import 01:12 <@waawaamilk> right 01:13 <@waawaamilk> I'm getting tired 01:13 < Mjollnir`> just to let you know i'm expecting someone to turn up at 12:30 01:13 < Mjollnir`> heh 01:13 <@waawaamilk> perhaps we call it a night 01:13 <@waawaamilk> /day 01:13 < Mjollnir`> yeah i th ink we've made good progress 01:13 <@waawaamilk> I think we need to revisit both import and export again though 01:13 < Mjollnir`> sure