Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to implement #213 #262

Closed
pinaf opened this issue Jan 20, 2015 · 8 comments
Closed

How to implement #213 #262

pinaf opened this issue Jan 20, 2015 · 8 comments

Comments

@pinaf
Copy link
Contributor

pinaf commented Jan 20, 2015

Issue #213 requests an FTP frontend for downloading files, analogous to the current HTTP frontend. Implementation would be based on creating a new class, FTPFacade, analogous to the existing HTTPFacade.

However, the following items are not clear in the request for the new functionality:

  1. Should the FTP server be implemented through an existing Java library or should it create a raw socket and parse (which seems to be what HTTPFacade does)?
  2. What port should the FTP server listen on?
  3. What FTP verbs should be supported (OPEN, USER, LIST, CD, RETR)?
  4. When the client is behind a firewall, FTP usually goes to Passive mode. Is this to be implemented also?
  5. What about security (SSL)?
@pinaf pinaf changed the title How to implement FTPFacade for #213 How to implement #213 Jan 21, 2015
@yegor256
Copy link
Owner

@pinaf check this: http://www.yegor256.com/2014/11/24/principles-of-bug-tracking.html#5.-report-when-it-is-broken When you report a bug you should say what is broken now. I think in this case a README file is broken since it doesn't explain how our service provides FTP. Right?

@pinaf
Copy link
Contributor Author

pinaf commented Jan 21, 2015

@yegor256 Well I'm asking for more information on how to implement a feature that doesn't exist yet. Is that considered a bug? I don't see why the README file should carry this type of information. Maybe this file http://maven.s3auth.com/architecture.html ?

@yegor256
Copy link
Owner

@pinaf maybe this file, but it has to be a bug. Everything you submit to a project should be formatted as a bug. By submitting a bug you disturb the project and by fixing it we're getting the project back to a stable state. This section of the article should explain better: http://www.yegor256.com/2014/04/12/puzzle-driven-development-by-roles.html#fix-and-break

So, every time you need information - find out who fails to provide it to you at the moment. And complain about him (javadoc, readme, html, etc)

@pinaf
Copy link
Contributor Author

pinaf commented Jan 21, 2015

@yegor256 Ok so I should be doing a little bit of breaking here - that is what I'm trying to do. From the article it seems to me the project manager would be responsible for unclear or ambiguous requirements - so I should complain to davvd the request is not clear?

@yegor256
Copy link
Owner

@pinaf I don't think so. In this case, you are starting to implement a new feature. There is no help for you here from the management side. You're in the position of an architect/designer here. See http://www.yegor256.com/2014/04/12/puzzle-driven-development-by-roles.html#architect

Your complaints/bugs should be addressed to the existing design documentation.

@pinaf
Copy link
Contributor Author

pinaf commented Jan 21, 2015

@yegor256 Hmmm.. and the complaints should be addressed in the form of puzzles I suppose?

@yegor256
Copy link
Owner

@pinaf if you have no idea where to start, it's a bug (a new ticket). If you know how to create a high level design but don't know what to do next, it's a pull request with puzzles inside.

@pinaf
Copy link
Contributor Author

pinaf commented Jan 21, 2015

@yegor256 I think I got it. Let me digest it a bit more :) thanks!

@pinaf pinaf closed this as completed Jan 25, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants