prmr / Creco

Recommendation System for Consumer Products
Apache License 2.0
6 stars 2 forks source link

General Discussion #13

Closed asutcl closed 10 years ago

asutcl commented 10 years ago

Should task artifacts be put in the gitignore (.gradle/1.8/taskArtifacts/*)? They seem to be generated with every build and eclipse asks you to commit every time. If I understand correctly these are the files the project provides to the outside world.

prmr commented 10 years ago

Yes, the stuff in .gradle should not be tracked. The master branch had /.gradle in the .gitignore, I'm not sure why these things are being tracked. Something to look into.

enewe101 commented 10 years ago

As of now these are still being tracked. Martin -- I know that you used team > advanced > stop tracking, but on my pull from early this afternoon, these are still being tracked on the master branch.
I know how to stop tracking in git on the command line; I'll do so and commit. But how about these files / dirs, they are being tracked but I think that they shouldn't be. Should the following files / dirs also be removed from tracking?

prmr commented 10 years ago

These should probably be tracked so that the settings are uniform for everyone.

enewe101 commented 10 years ago

Ok, I understand this much better now. Unfortunately git does not allow files to be untracked without causing great pain for colleagues when they pull. One workaround is to issue the following command on your machine git update-index --assume-unchanged <file> which will cause git to stop prompting you to add when preparing a commit. Although I removed the tracking of .gradle files in commit 04a32907d..., I restored them -- else git will silently delete them in your working dir. There appears to be no known clean solution for this.

The reason I spent so much time looking into this is that it was causing conflicts when I try to switch between branches. This may cause you grief too. Best plan I think is to make sure that your .gradle files reflect exactly what is in master, and then run the --assume-unchanged command above.

enewe101 commented 10 years ago

Hi Everyone,

I hope that coding has been going well for you! Tomorrow will be a critical day for our project. I am setting as our goal to have the basic pipeline, from text query, to feature selection, to tweaking of feature preferences, and the display of ranked products working.

This may seem ambitious. However, it is ok if, in some cases, we have mock stand-ins for modules of functionality that are incomplete or unforeseen. One of the main purposes of setting the goal of hooking parts together early is to discover the issues that we didn't foresee and have yet to be assigned.

I am expecting that most people will have their code in a state that is ready for integration. It is ok if not all cases and details are handled by your implementation. Much more important is that your code fulfills basic contracts regarding expected input and output types and runs.

So, for example, it is much more important that the AttributeSelector produce a set of features in response to an equivalence class and ranked product list, than it is that it produce the best set of features. (Andrew, I hope you don't mind my using your case as an example)

For our meeting tomorrow, I propose the following agenda:

1) Status update by each member. Be ready to answer three questions: a) How close is your module to milestone 1 status? b) What needs to be done to get there? c) Is your code ready to integrate with up- and down-stream modules? 2) As a group, we will review an activity diagram that shows the flow of events, and transfers of process control between high-level entities. 3) We will break out into informal discussions and code collaborations. Your goal will be to find the people who have coded modules that interact with yours, and make sure that your modules can interact correctly. We will discuss how best to do this. It may involve making temporary branches for experimentation.

Please let me know what you think about this agenda.

I suggest that we use this issue as a thread for discussion so that we don't pollute other issues or end up with issues not related to functionality. It seems that this is the best way to communicate with everyone at once. I will rename this issue Discussion for that purpose.

See you tomorrow :)

enewe101 commented 10 years ago

Quick Debrief

For those who have not integrated your parts yet -- do so before Thursday -- and seek help if needed. This means that your code should have been merged with the Integration branch and hooked up with other's code as needed. Communicate with group members to make it happen.

We will use Thursday to do test runs and squash bugs. See you then!

asutcl commented 10 years ago

For the AttribtueExtractor I am waiting on the ScoredProduct definition to change the implementation of the AttributeExtractor to work with a ScoredProduct list instead of a ProductList.

As for integration, is anyone in charge of implementing the service that calls the backend code? Gabriel, you said you would post a Service for the lucene search, is this still the case? Are we still going to use one service class to call all the backend code? If so once the class is up I can write it in the method to call my code.

forgues commented 10 years ago

I merged my search into the integration branch. The search service can be found under ca.mcgill.cs.creco.logic.search.SearchService.

Feel free to add methods into that class, we can always rename/move it later if it's not search-specific anymore.

asutcl commented 10 years ago

I can't seem to see the integration branch from eclipse. I can pull it fine from the command line but not from eclipse. Is anyone else having this problem since no one else has merged since Gabriel did?

enewe101 commented 10 years ago

I did commit since Gabriel. Try the step "Get other Branches" in my post about cloning in the wiki: https://github.com/prmr/Creco/wiki/Do-a-completely-fresh-clone#wiki-get-other-branches

I had to do that in order to see Integration too.

enewe101 commented 10 years ago

Probably obvious, but don't do the step Import the project into eclipse! You should already see that your working branch in eclipse is Integration after the above step (may need to hit F5).

asutcl commented 10 years ago

The problem is for some reason my current repository doesn't see any new branches. I will have to create a new repository and checkout a fresh version of everything.

enewe101 commented 10 years ago

Status:

We did not get everything integrated today. Still outstanding is

We did accomplish

For those who have not integrated their parts yet: do so before Tuesday. Thanks!

See you next week.

nishanthtgwda commented 10 years ago

To prmr : I have been going through the dataset available at CR. At each instant of server starting up, a fresh copy is retrieved.

Here are the few problems encountered:

  1. CR API behaves strangely for certain requests.
    • At a value of offset of 200, the API returns "an internal error"
    • For certain products with size = -1 (supposed to return all products), the API returns a truncated data set, which an html body.
    • Behaves strangely only for appliances and electronicsComputers franchise requests.

While comparing the CategoryList currently available at the CR API with the one we have downloaded (the offline dataset which I received in the mail), there seems to be huge discrepancy between both of them. The total product count has been drastically reduced from 24,000 change to 4,000 change. For example, the appliances franchise in the offline dataset has a product count of 15,116 , whereas the CR API indicates now as 3,085.

I still can't seem to figure out how the dataset got reduced so drastically in such a short time . Did you pull out all of the data from the CR API itself ?

enewe101 commented 10 years ago

Martin any comment on this?

MariamN commented 10 years ago

GIT Question: When I checkout the Integration branch I can't get all the files. For e.g., all files under server folder won't get pulled. Anyone knows what is causing this behaviour? Note: I tried the checkout from both command line and eclipse.

enewe101 commented 10 years ago

Strange. I just pulled the latest and the Integration branch has the server files for me. I'd probably just do a completely fresh clone if I were you (https://github.com/prmr/Creco/wiki/Do-a-completely-fresh-clone).

Obviously, if you have any work not pushed from your branch, push your branch first!!

MariamN commented 10 years ago

I'm trying to push to Integration branch. I keep getting this error from Git. Did anyone have the same error?

[rejected] Integration -> Integration (non-fast-forward) error: failed to push some refs to 'https://github.com/prmr/Creco.git'

nishanthtgwda commented 10 years ago

I pushed in a minute back. Didn't give any errors to me .

MariamN commented 10 years ago

I just made a new clone and now the merge worked.