Code Monkey home page Code Monkey logo

nitrogenproject.com's Introduction

Nitrogen Web Framework for Erlang

Nitrogen is an Erlang-based web framework that allows you to develop infinitely scaleable, Ajax-rich web applications using a pure Erlang technology stack.

See the Nitrogen Project website for additional information.

Upgrading from Nitrogen 2 to Nitrogen 3?

If you are using a Nitrogen 2 structured project, run the following two commands from the root of your Nitrogen 2-based project.

WARNING: Make sure you commit to version control before running this - it will change your working directory heavily

WARNING 2: Running scripts directly from the internet is dumb. Review this script's code before you run it. But if you really want to do it this way, here you go.

curl -o https://raw.githubusercontent.com/nitrogen/nitrogen/master/scripts/upgrade_to_nitrogen3.sh
bash upgrade_to_nitrogen3.sh

The first line downloads the upgrade script to your local project directory

The second line runs that script

Getting Started

Follow the tutorial at http://nitrogenproject.com/doc/tutorial.html

Building Nitrogen on Linux and OSX

The Getting Started guide covers this.

Building Nitrogen on FreeBSD

Install Erlang from

Make sure you have gmake installed, and use gmake instead of make

Example:

$ gmake rel_cowboy

Building Nitrogen on Windows

Instructions for building on windows can be found in rel/overlay/win

Want to contribute?

nitrogen_core is where you would find the vast majority of Nitrogen's codebase, should you wish to contribute or make changes.

Read our contribution guidelines to get started contributing to Nitrogen! (they're not strict, just recommendations)

nitrogenproject.com's People

Contributors

choptastic avatar fooflare avatar joaohf avatar msvoboda-ra-rockwell-com avatar osbre avatar rustyio avatar stuart-thackray avatar stuartt4 avatar th31nitiate avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

nitrogenproject.com's Issues

Mobile demos

We need to have mobile demonstrations. Currently there are none.

Autocomplete textbox

Hi Jesse,

I was testing the demos with the new changes and I had this error:

=INFO REPORT==== 29-Sep-2014::17:35:26 ===
{error,error,function_clause,
[{string,to_lower,[undefined],[{file,"string.erl"},{line,492}]},
{demos_textbox_autocomplete,'-autocomplete_enter_event/2-lc$^0/1-0-',2,
[{file,"src/demos/demos_textbox_autocomplete.erl"},{line,38}]},
{demos_textbox_autocomplete,autocomplete_enter_event,2,
[{file,"src/demos/demos_textbox_autocomplete.erl"},{line,36}]},
{element_textbox_autocomplete,event,1,
[{file,"src/elements/forms/element_textbox_autocomplete.erl"},
{line,59}]},
{wf_core,run_websocket,1,[{file,"src/wf_core.erl"},{line,72}]},
{nitrogen,ws_message_catched,1,[{file,"src/nitrogen.erl"},{line,60}]},
{nitrogen,ws_message,3,[{file,"src/nitrogen.erl"},{line,51}]},
{simple_bridge_websocket,process_frames,6,
[{file,"src/simple_bridge_websocket.erl"},{line,261}]}]}

I tried to find a solution, but as you can see, I put this issue here because I am not sure if it is a problem of simple_bridge (websocket), nitrogen_core (element or core) or even a problem with the demo (but in this case it worked before). So... at least I report :(

Another thing I wanted to ask is: What do you think about upgrading jquery, jquery-ui, jquery-mobile and jquery-fileupload? I have been testing some demos with new versions of jquery and ui and I think would be a good idea for the new version. Of course, I propose it thinking in helping you (more than with sigma_sql :) Soon, I will upload to my repos what I did, it took me too long becasue I changed it totally and I hadn't much time), because I think you have enough work right now.

Well, I think I wrote enough, I always go on and on.
Thanks.

Newcookie values cause Web Application Firewall (WAF) to invoke access rules

The process of generating newcookie value at times results in non-sanitized values that cause WAF, in this case ModSecurity, to block users by detecting it as an SQL Injection.

ModSecurity: Warning. detected SQLi using libinjection. [file "owasp-modsecurity-crs/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf"] [line "45"] [id "942100"] [rev ""] [msg "SQL Injection Attack Detected via libinjection"] [data "Matched Data:1c found within REQUEST_COOKIES:newcookie: 9-v_3SWDUTnZw-K8zJ2r6fH--KAaenS6hDvFkNPYZDjxZioAbU5L88xmV__SO4PeNygvkhcApIhcDA5r1iCjFH8OEqLzuMOVziOYJfRBSic85Sqm01ClC4uts-0QdUsmfrLLiw"

Looking at wf_pickle:pickle/1which is used to generate the newcookie values, the replacement of "+" with "-" is the likely cause of this issue.

expected output from wf:qs -> [] vs [[]]

Hi, I was running the "make test" target to see if a change I made was passing.

However I found that the test for multidropdownblank was failing.
The function returns [[]] instead of the expected [].

 test_multidropdownblank() ->
     {
         fun() -> wf:set_multiple(multiple, []) end,
-        fun() -> wf:qs(multiple) == [] end
+        fun() -> wf:qs(multiple) == [[]] end
     }.

https://github.com/nitrogen/NitrogenProject.com/blob/master/src/tests/tests_simplecontrols.erl#L75

The question now becomes - what is wf:qs supposed to return if there is no result?

It seems that:

  • if the element with id=multiple is ON screen - and data is selected ( "1","3" ) - it returns ["1","3"]
  • if the element with id=multiple is NOT ON screen - it returns []
  • if the element with id=multiple is ON screen - without any selection - it returns [[]]

Could you confirm my understanding?

Kind regards,

Fabian

tutorial suggestion

Don't know if this is the right channel but wanted to note the tutorial could have
a note on the my_element.erl example about suggesting to declare event/1 to export.
New erlang and nitrogen users will get stuck on this...

NitrogenProject lacks /etc/app.config

My enhancement for the nitrogen project reads its configuration parameters from /etc/app.config.
Since the start-up mechanism differs in NitrogenProject, I'm not able to add a demo-page without altering the start-up mechanism.
How do we proceed?

greetings
Steffen

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.