RetroShare / rssocialnet

RetroShare social network plugin - Mirror of
https://gitorious.org/rssocialnet
3 stars 3 forks source link

Fatal Error when compiling on Lubuntu #2

Open realityfabric opened 8 years ago

realityfabric commented 8 years ago

In file included from WebUIPlugin.cpp:12:0: ./gui/RsWebUIConfig.h:7:30: fatal error: ui_RsWebUIConfig.h: No such file or directory compilation terminated. Makefile.socialnet:209: recipe for target 'WebUIPlugin.o' failed

electron128 commented 8 years ago

thanks for your interest in the rssocialnet plugin. Unfortunately this code is currently unable to compile into something useful. If you want to change this, i can help you to make a todolist. It will be quite some work, but i will help you and we get a nice result.

The result would be:

jlstanus commented 8 years ago

Nice feature, but needs a lot of work :) But to do List i can do :p

Cordialement,

Jean-Louis Stanus


Jean-louis Stanus [image: https: //]about.me/jl.stanus https://about.me/jl.stanus?promo=email_sig&utm_source=email_sig&utm_medium=email_sig&utm_campaign=external_links

☎ +32 473761482

2015-12-12 16:38 GMT+01:00 electron128 notifications@github.com:

thanks for your interest in the rssocialnet plugin. Unfortunately this code is currently unable to compile into something useful. If you want to change this, i can help you to make a todolist. It will be quite some work, but i will help you and we get a nice result.

The result would be:

  • i post a link to a mp3 file on my wall (could be text or photo as well)
  • friend sees my post in his newsfeed
  • friend can listen to the file by streaming, right in the webui
  • friend can comment
  • friend can further share this post on his wall

— Reply to this email directly or view it on GitHub https://github.com/RetroShare/rssocialnet/issues/2#issuecomment-164161892 .

realityfabric commented 8 years ago

Shouldn't it be able to compile even without certain features? How do you test to make sure the features are working?

electron128 commented 8 years ago

Can you drive a car without wheels? No, you can't. But i know it worked before i removed the wheels. So the engine should still be intact. I needed those wheels for my new chassis. The new chassis is now ready, and i even made new wheels because i was unhappy about the old wheels. I did not fix the car, because i want to replace the steel car body with a carbon one anyway. If i knew about new manufacturing technologies when i started building the car i would have build it different. But i had only some steel and a welder. Now i have better tools and can make a better car.

rodneyrod commented 8 years ago

I can help with a todo list, although I know nothing about C++

electron128 commented 8 years ago

@jlstanus @rodneyrod : if you have nice ideas, don't hesitate to share them. All code comes from ideas.

@rodneyrod : you don't have to know C++, because most of the C++ parts are already done. The most complicated part at the moment is: transform a bunch of JSON files into a good-looking user interface. This requires JavaScript and CSS knowledge.

My idea how to do this:

  1. make backend functions like
    • get_wall(user_id)
    • get_wall_posts(wall_id)
    • make_comment(post_id, comment)
    • make_post(wall_id, text)
    • reshare(post_id, wall_id)
  2. make frontend functions like (i would use http://mithril.js.org/ for this)
    • render_wall(wall_data)
    • render_post(post_data)
    • render_comment(comment_data)
  3. put it together
    • render_wall(get_wall(user_id))

see also https://github.com/RetroShare/rssocialnet/blob/master/webui/wallapi_draft.txt

realityfabric commented 8 years ago

I'm not a whiz with JavaScript or CSS, but I'm familiar with both.

As for your analogy, it seems more like you rebuilt the engine but left the spark plugs out. You only need the wheels if you're planning to go somewhere, but if you just want to know how she runs you only need the engine to start ;)

I can help with the front end, but I still think the back end should run even if the front end is incomplete.

electron128 commented 8 years ago

@realityfabric : i agree. It would be good to have the engine running. I will fix this.

electron128 commented 8 years ago

It compiles and runs now (e1fe9a04d762e2cf2751dd609ea1d1d6060f5f00). rssocialnet JSON Api is available if main Retroshare webinterface is enabled. Entry point is /api/v2/apiplugin/rssocialnet. But it is still useless, because the Wt GUI is disabled and the JSON Api has no way to insert data. It's only a small piece, but it is missing. Maybe we can enable the old Wt GUI and use it for the first steps.

realityfabric commented 8 years ago

I've never used Wt before, but I'm curious, why did you stop using it?

realityfabric commented 8 years ago

Side note, I don't think I linked the plugin and RetroShare together properly, it didn't ask me to authorize the plugin.

jlstanus commented 8 years ago

What would be nice, it s a portal where anyone whos not on RS can knock at the door.

Of course, the user have to use a static ip, dyndns, or not, just a ip:port to go to the http public page and get informations how to connect to the guy with RS and a bridge chat like IRC. It can be intersting for network like intranet or other, to create a welcome page.

More it s personnal and moire people will be interest to join friends on RS.

Cordialement,

Jean-Louis Stanus


Jean-louis Stanus [image: https: //]about.me/jl.stanus https://about.me/jl.stanus?promo=email_sig&utm_source=email_sig&utm_medium=email_sig&utm_campaign=external_links

☎ +32 473761482

2015-12-13 10:28 GMT+01:00 electron128 notifications@github.com:

@jlstanus https://github.com/jlstanus @rodneyrod https://github.com/rodneyrod : if you have nice ideas, don't hesitate to share them. All code comes from ideas.

@rodneyrod https://github.com/rodneyrod : you don't have to know C++, because most of the C++ parts are already done. The most complicated part at the moment is: transform a bunch of JSON files into a good-looking user interface. This requires JavaScript and CSS knowledge.

My idea how to do this:

  1. make backend functions like
    • get_wall(user_id)
    • get_wall_posts(wall_id)
    • make_comment(post_id, comment)
    • make_post(wall_id, text)
    • reshare(post_id, wall_id)
    • make frontend functions like (i would use http://mithril.js.org/ for this)
    • render_wall(wall_data)
    • render_post(post_data)
    • render_comment(comment_data)
    • put it together
    • render_wall(get_wall(user_id))

see also https://github.com/RetroShare/rssocialnet/blob/master/webui/wallapi_draft.txt

— Reply to this email directly or view it on GitHub https://github.com/RetroShare/rssocialnet/issues/2#issuecomment-164241977 .

electron128 commented 8 years ago

I've never used Wt before, but I'm curious, why did you stop using it?

  • the gui is written in C++, this means you have to recompile and restart RS to see changes. With JS the page can reload automatically and you see the result in <1sec.
  • performance problems. I populated the gui incrementally on the C++ server side. This translated into frequent updates on the client side and did cost lots of CPU time. New idea is to send a JSON file with everything inside. The client has to render this just once.
  • i started mixing C++ with html strings. To detect errors i have to recompile and restart RS. html strings inside C++ are really a pain.
  • to get a custom design and nice technologie like touch, i would have to use html/CSS/JS in addition to C++. I can imagine mixing C++ with strings of JavaScript is a nightmare.

Better is:

This is implemented in the main Retroshare webinterface. rssocialnet should do the same.

Side note, I don't think I linked the plugin and RetroShare together properly, it didn't ask me to authorize the plugin.

you have to copy the plugin file to /extensions6. For development, you can create a symlink to the file in the build directory.

What would be nice, it s a portal where anyone whos not on RS can knock at the door. Of course, the user have to use a static ip, dyndns, or not, just a ip:port to go to the http public page and get informations how to connect to the guy with RS and a bridge chat like IRC. It can be intersting for network like intranet or other, to create a welcome page.

Despite i don't like central servers, i think this would best be done with a server. You have to know what an IP and what a port is. You want to be able to access the site even if the peer is offline. It would make sense to extend the chatserver with a webbased chat interface. People who have problems to connect can then ask for help in a lobby. I think it is not good for public chatservers, because of trolls and stuff. But it would be very useful for local networks.

realityfabric commented 8 years ago

Oh, good, I've used JavaScript APIs that call for JSONs with Twitter and Tumblr. They're pretty easy to use.

you have to copy the plugin file to /extensions6. For development, you can create a symlink to the file in the build directory.

I think that's what I did, but I'll have to double check. Maybe it'll work this time :)

What would be nice, it s a portal where anyone whos not on RS can knock at the door. Of course, the user have to use a static ip, dyndns, or not, just a ip:port to go to the http public page and get informations how to connect to the guy with RS and a bridge chat like IRC. It can be intersting for network like intranet or other, to create a welcome page.

Despite i don't like central servers, i think this would best be done with a server. You have to know what an IP and what a port is. You want to be able to access the site even if the peer is offline. It would make sense to extend the chatserver with a webbased chat interface. People who have problems to connect can then ask for help in a lobby. I think it is not good for public chatservers, because of trolls and stuff. But it would be very useful for local networks.

I agree that a dedicated, centralized server would be best for this kind of feature. Also that it would be best to use with a server that doesn't just accept everyone. But I think this kind of feature should be left until the plugin actually works.