Giter Site home page Giter Site logo

ronin's People

Contributors

akeefer-guidewire avatar bchang avatar coryfoo avatar dependabot[bot] avatar kprevas avatar roxchkplusony avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ronin's Issues

1 - upgrade roninit to Jetty 7 (or 8?)

roninit is currently using Jetty 6.  Should put a more recent version of the Jetty jar in support folder, and update DevServer to use new packages (org.mortbay -> org.eclipse)

Original link: http://code.google.com/p/ronin/issues/detail?id=1

16 - Roninit spits out erroneous Aardvark-related error

When I run Roninit, I get the following output:

  Creating /Users/kprevas/temp/ronin/ronin/../my_app/build.vark
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/db/init.sql
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/html/WEB-INF/web.xml
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/lib/ronin.jar
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/lib/ronindb.jar
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/lib/stringtree-json-2.0.9.jar
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/src/config/RoninConfig.gs
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/src/controller/Main.gs
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/src/view/Main.gst
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/support/h2-1.3.146.jar
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/support/jetty-all-8.0.0.M2.jar
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/support/junit-4.8.2.jar
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/support/roninit.jar
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/support/vark/RoninVarkTargets.gsx
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/test/controller/MainTestV3.gs
  Creating /Users/kprevas/temp/ronin/ronin/../my_app/test/controller/MainTestV4.gs
Aardvark was not found on your path.  Ronin uses Aardvark to package and run applications.
Please download it from http://vark.github.com
A ronin application was created at ../my_app.  To start the application:

  cd ../my_app 
  vark server

But Aardvark ~is~ on my path; I can type "vark" and it works just fine.

Original link: http://code.google.com/p/ronin/issues/detail?id=16

classpath for roninint created project isn't setup right (at least in Windows)

I'm following along the tutorial (hey, awesome that you're downloading all the req'd libs via ivy).

Unfortunately I don't get good code completion on my PostCx.gs file. It won't recognize the package, and doesn't like the uses ronin.roninController. Looks like maybe I need to setup the classpath, but the Gosu editor doesn't seem to accept anything I put in there. Cmd-line classpath args aren't playing nice for me either. Wondering what I'm doing wrong, or if I just need to put the ronin-0.8.6.jar file into my java classpath?

4 - XSRF protection support

Build in basic support for XSRF protection.
- On each request, generate a random token in the session if one isn't there already.
- Provide a method on RoninTemplate to insert the session token.
- On a non-GET request, reject the request if the token is not present.
- Since this should all be off by default, provide a way to turn it on from RoninConfig.
  

Original link: http://code.google.com/p/ronin/issues/detail?id=4

Error when trying to initialize an app

System: Windows 7, 64 bit
GOSU: gosul-0.9-14-full.zip

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Windows\System32>d:

D:>cd ronin

D:\Ronin>vark -version
Aardvark version 0.4

D:\Ronin>vark -url http://ronin-web.org/init.vark
java.lang.RuntimeException:
gw.internal.ext.org.sonatype.aether.resolution.Depen
dencyResolutionException: Could not find artifact org.gosu-
lang.aardvark:aardvar
k-aether-utils:jar:1.0-SNAPSHOT
at
gw.lang.launch.aether.AetherRepositorySystem.collect(AetherRepository
System.java:103)
at
gw.lang.launch.aether.AetherClasspathElementHandler.getClasspathFiles
(AetherClasspathElementHandler.java:53)
at gw.lang.launch.GosuLauncher.run(GosuLauncher.java:99)
at gw.lang.launch.GosuLauncher.main(GosuLauncher.java:45)
Caused by:
gw.internal.ext.org.sonatype.aether.resolution.DependencyResolutionEx
ception: Could not find artifact org.gosu-lang.aardvark:aardvark-
aether-utils:ja
r:1.0-SNAPSHOT
at
gw.internal.ext.org.sonatype.aether.impl.internal.DefaultRepositorySy
stem.resolveDependencies(DefaultRepositorySystem.java:412)
at
gw.lang.launch.aether.AetherRepositorySystem.collect(AetherRepository
System.java:96)
... 3 more
Caused by:
gw.internal.ext.org.sonatype.aether.resolution.ArtifactResolutionExce
ption: Could not find artifact org.gosu-lang.aardvark:aardvark-aether-
utils:jar:
1.0-SNAPSHOT
at
gw.internal.ext.org.sonatype.aether.impl.internal.DefaultArtifactReso
lver.resolve(DefaultArtifactResolver.java:541)
at
gw.internal.ext.org.sonatype.aether.impl.internal.DefaultArtifactReso
lver.resolveArtifacts(DefaultArtifactResolver.java:220)
at
gw.internal.ext.org.sonatype.aether.impl.internal.DefaultRepositorySy
stem.resolveDependencies(DefaultRepositorySystem.java:395)
... 4 more
Caused by:
gw.internal.ext.org.sonatype.aether.transfer.ArtifactNotFoundExceptio
n: Could not find artifact org.gosu-lang.aardvark:aardvark-aether-
utils:jar:1.0-
SNAPSHOT
at
gw.internal.ext.org.sonatype.aether.impl.internal.DefaultArtifactReso
lver.resolve(DefaultArtifactResolver.java:531)
... 6 more

D:\Ronin>

2 - remove static requirement on controller methods

Now that we're using feature literals for urlFor(), controller methods don't have to be static any more.
- remove static check in RoninServlet
- have RoninServlet instantiate controller
- add beforeRequest() and afterRequest() to RoninController, have RoninServlet call them
  

Original link: http://code.google.com/p/ronin/issues/detail?id=2

UI testing support?

Think about how to support UI testing (HtmlUnit, Selenium, etc.)

  • vark task?
  • special package in test folder?
  • some sort of deeper integration with RoninTest?

can't call static method with optional parameters

Given the following method on class Foo:

static function bar(s : String, s2 : String = "") {}

This works fine:

new Foo().bar("a")

But this fails to compile (wrong number of arguments to function):

Foo.bar("a")

25 - JSONP support

Automatically generate JSONP callbacks

Original link: http://code.google.com/p/ronin/issues/detail?id=25

rudimentary load testing framework

Possibly: have an annotation to mark a test as a load test, then a "vark pound" target with appropriate parameters like number of threads, number of repetitions, profiler connection, etc.

6 - investigate Shiro integration

Apache Shiro looks like a good option for authentication.  Need to figure out if we want to try and integrate it somehow, or just recommend it to users (as the API seems pretty sane on its own).

Original link: http://code.google.com/p/ronin/issues/detail?id=6

20 - file upload support

Ideally just define a parameter on your method - InputStream?  File? - and have it populated automatically.

Original link: http://code.google.com/p/ronin/issues/detail?id=20

17 - Roninit doesn't install servlet-api.jar

When I create a new app from scratch via Roninit, it doesn't include the servlet-api.jar, so "vark server" results in the following:

Buildfile: /Users/kprevas/temp/ronin/my_app/build.vark
[23:52:40] Done parsing Aardvark buildfile in 700 ms

server:

Starting server in socket debug mode at 8088
     [java] The args attribute is deprecated. Please use nested arg elements.
     [java] The jvmargs attribute is deprecated. Please use nested jvmarg elements.
     [java] Listening for transport dt_socket at address: 8088
     [java] Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletResponse
     [java]     at ronin.DevServer.main(DevServer.java:39)
     [java] Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletResponse
     [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
     [java]     at java.security.AccessController.doPrivileged(Native Method)
     [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
     [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
     [java]     ... 1 more

BUILD FAILED
Java returned: 1

Total time: 3 seconds


Original link: http://code.google.com/p/ronin/issues/detail?id=17

Quotes Required in SQL statements against H2.

Documentation says something like this.

Person.selectWhere("Name is not null and PhoneNumber like :phoneNum"),
{ "phoneNum" -> "555%" })

What I found is that a similar statement would not execute and I had to place quotes around the column names.

var userResult = db.model.User.selectWhere(" "Name" = :userName AND "Hash" = :password",
{ "userName" -> userName,
"password" -> pass
})

11 - Bad message when running "vark server"

When running RoBlog via "vark server":

```
 [java] Use org.h2.tools.Server@2d42c778 as your url, and a blank username/password to connect.
```


Original link: http://code.google.com/p/ronin/issues/detail?id=11

26 - tests for caching

add tests for the caching system

Original link: http://code.google.com/p/ronin/issues/detail?id=26

23 - annotation for permitted HTTP methods

Add an annotation, @Methods(), for controller methods to limit the HTTP methods which can access them.  e.g.

@Methods({POST})
function createThing(thing : Thing) {
  ...
}

This will help with XSRF protection in particular.

Original link: http://code.google.com/p/ronin/issues/detail?id=23

7 - logging/tracing

you know what you doing


Original link: http://code.google.com/p/ronin/issues/detail?id=7

Can not create project using archetype

bauer@bauer-desktop:~/workspace/gosu$ vark -url http://ronin-web.org/init.vark init -name my_app
gosu-aether: Downloaded http://gosu-lang.org/nexus/content/repositories/snapshots/org/gosu-lang/aardvark/aardvark-aether-utils/0.1-SNAPSHOT/maven-metadata.xml (787 B at 0.9 KB/sec) to /home/bauer/.m2/repository/org/gosu-lang/aardvark/aardvark-aether-utils/0.1-SNAPSHOT/maven-metadata-gosu-lang.org-snapshots.xml
Buildfile: http://ronin-web.org/init.vark
Done parsing Aardvark buildfile in 2529 ms

init:
Please enter a group ID (e.g. "com.yourcompany"): com.yourcompany
      [get] Getting: http://gosu-lang.org/nexus/content/groups/releases/org/gosu-lang/ronin/ronin/maven-metadata.xml
      [get] To: /tmp/maven-metadata4894327401086987436.xml
     [echo] Using the latest published version of Ronin: 0.9.3
  [resolve] Downloading http://gosu-lang.org/nexus/content/groups/releases/org/gosu-lang/ronin/ronin-archetype/0.9.3/ronin-archetype-0.9.3.pom
  [resolve] The POM for org.gosu-lang.ronin:ronin-archetype:jar:0.9.3 is missing, no dependency information available
  [resolve] Resolving artifacts
  [resolve] Downloading http://gosu-lang.org/nexus/content/groups/releases/org/gosu-lang/ronin/ronin-archetype/0.9.3/ronin-archetype-0.9.3.jar

BUILD FAILED
Could not resolve artifacts: Could not find artifact org.gosu-lang.ronin:ronin-archetype:jar:0.9.3 in gosu-lang.org-releases (http://gosu-lang.org/nexus/content/groups/releases)

Total time: 11 seconds

9 - update docs for new APIs

The wiki pages need to be updated to reflect the new feature literal-based APIs.  While we're in there, I'd like to try to push the [Foo]Cx naming convention for controllers, and (in the tutorial) recommend using the built-in Gosu editor, maybe go into a little detail on how to use it.

Original link: http://code.google.com/p/ronin/issues/detail?id=9

Does deep JSON serialization work?

Looking at the code, I don't think we recurse on objects that come in as json members. Some interns at GW were having issues around that.

3 - add n() method to RoninTemplate

Add a method to RoninTemplate called n() which generates the appropriate form input name for a type literal or feature literal.

(Any way we can do this for array components as well?  e.g. n(Post#Tags[0]))

Original link: http://code.google.com/p/ronin/issues/detail?id=3

required parameters

Annotate a parameter with @required, and have RoninServlet throw if that parameter isn't passed in. Saves a lot of tedious null-checking in controller methods.

fix verify-app

The verify-app vark target is pretty unreliable at the moment; in particular:

  • RuntimeExceptions from the XSD typeloader
  • classpath isn't set correctly
  • doesn't take env/db folders into account correctly (interesting question about what we should do here...)

14 - look in to using Ivy for dependency management

I've heard that Ivy (http://ant.apache.org/ivy/) is a good Ant-based dependency management system that leverages the Maven dependency infrastructure without having to actually use Maven.  We should see if we can hook Aardvark into this easily, which would save us having to include all the dependency jars in the initial download.

Original link: http://code.google.com/p/ronin/issues/detail?id=14

15 - ronin.zip doesn't contain the same files as ronin.tgz

Running vark clean build gives me two artifacts, ronin.zip and ronin.tgz.  From the draft docs, it looks like these should be the same thing - but ronin.zip just contains the exploded "template" directory, and one lone class file (Roninit.class).

Original link: http://code.google.com/p/ronin/issues/detail?id=15

22 - javadoc public APIs

All public APIs need to be javadoc'd.

Original link: http://code.google.com/p/ronin/issues/detail?id=22

18 - JDBC URL not populated correctly in H2 web console linked to from default app page

Roninit generates a placeholder page with a handy link to the H2 console that DevServer starts; however, the JDBC URL for the app's database isn't pre-filled correctly.  For me, the URL that was prefilled was the previous database that I had accessed via an entirely different instance of the H2 console.  Not sure if we have any actual control over this, but if we don't, we need to tell the user the correct URL before they click that link.

Original link: http://code.google.com/p/ronin/issues/detail?id=18

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.